编程语言
首页 > 编程语言> > python-OpenERP 7:在产品视图上添加按钮

python-OpenERP 7:在产品视图上添加按钮

作者:互联网

我目前正在使用openERP7.我正在做一些测试,正在构建我的第一个附加组件.
我想在每个产品视图上添加一个由另一个加载项创建的名为“特殊”的选项卡上的“同步”按钮(效果很好).我的按钮显示成功,但是当我单击它时,出现以下错误:

AttributeError: 'product.product' object has no attribute 'custom_export'

如果有人可以向我解释为什么我会有该错误以及如何解决它.

我的附加文件夹名称是:custom_synchronizer,我里面有4个文件.

__init__.py

import product

__openerp.py__

{
    "name" : "Custom synchronizer",
    "version" : "0.1",
    "author" : "Ajite",
    "category" : "Product",
    "depends" : ["product"],
    "init_xml" : [],
    "demo_xml" : [],
    "update_xml" : ["product_view.xml"],
    "installable": True,
    "active": True
}

product.py

from openerp.osv import orm, fields

class product_product(osv.osv):
        _name = 'product.product'
        _columns = {}

        def custom_export(self, cr, uid, ids, context=None):
            f = open('/home/ajite/faytung.txt','w')
            f.write('Hi there !')
            f.close()
            return True
product_product()

product_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record id="product_normal_form_view" model="ir.ui.view">
            <field name="name">product.product.form</field>
            <field name="model">product.product</field>
            <field name="inherit_id" ref="special.product_normal_form_view"/>
            <field name="arch" type="xml">
                <page name="special" position="inside">
                    <button name="custom_export" string="Export" icon="gtk-execute" type="object"/>
                </page>
            </field>
        </record>
    </data>
</openerp>

解决方法:

在product_product类定义中将_name更改为_inherit.

标签:openerp,xml,python
来源: https://codeday.me/bug/20191030/1971354.html