В настоящее время я играю с openERP 7. Я занимаюсь тестированием, и я создаю свое первое дополнение. Я хочу добавить на каждом продукте кнопку «синхронизировать» на вкладке с именем «специальный», созданной другим надстройкой (которая отлично работает). Моя кнопка отображается успешно, но когда я нажимаю на него я получаю следующее сообщение об ошибке:OpenERP 7: добавление кнопки на вид продукта
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>
Привет, спасибо, но это не работает. Я заменил атрибут _name на _inherit, но я все еще имею ту же ошибку. – Ajite
Вы правы, оба необходимы. –