Odoo 8.0 product_product 继承扩展 class
Odoo 8.0 product_product inherit extend class
我正在迈向 odoo 的第一步。
我正在尝试像这样扩展产品模型 class。
from openerp.osv import osv,fields as fields
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'products_ids':fields.one2many('product_application.version', 'version_id', string="Versions")
}
并出现以下错误
File "/home/nano/ARCHIVOS/PycharmProjects/odoo/odoo/openerp/models.py", line 596, in _build_model
original_module = pool[name]._original_module if name in parents else cls._module
File "/home/nano/ARCHIVOS/PycharmProjects/odoo/odoo/openerp/modules/registry.py", line 102, in __getitem__
return self.models[model_name]
KeyError: 'product.product'
谁能给我一份完整的odoo v8文档,官方很差
试试这个:
from openerp.osv import fields,osv
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'products_ids':fields.one2many('product_application.version', 'version_id', string="Versions")
}
我不知道你为什么要使用 "fields as fields"?
或者检查您是否安装了 "Product" 模块?
您将获得 'Keyerror'
所以请检查你是否在 openerp.py 中给出了正确的依赖
即,您必须在 depends
中给出 'product'
像这样给予:-
'depends': ['base', 'product'],
希望这对您有所帮助...
在 odoo 中,_name 在后端数据库中创建了一个新的 table。
所以,这里的问题是您在继承 _name = 'product.product' 时使用它已经存在于数据库(基本 class 产品)。
此外,如果您想要正常继承而不需要 _name 属性,只需通过 _inherit 进行扩展即可。
您正在使用的继承类型,因为 _name 不应等于 _inherit (_name != _inherit)。所以,要么给 _name='new.name'
一个新名字
如需更多说明,请查看此 link
https://www.odoo.com/documentation/8.0/howtos/backend.html
我正在迈向 odoo 的第一步。 我正在尝试像这样扩展产品模型 class。
from openerp.osv import osv,fields as fields
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'products_ids':fields.one2many('product_application.version', 'version_id', string="Versions")
}
并出现以下错误
File "/home/nano/ARCHIVOS/PycharmProjects/odoo/odoo/openerp/models.py", line 596, in _build_model
original_module = pool[name]._original_module if name in parents else cls._module
File "/home/nano/ARCHIVOS/PycharmProjects/odoo/odoo/openerp/modules/registry.py", line 102, in __getitem__
return self.models[model_name]
KeyError: 'product.product'
谁能给我一份完整的odoo v8文档,官方很差
试试这个:
from openerp.osv import fields,osv
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'products_ids':fields.one2many('product_application.version', 'version_id', string="Versions")
}
我不知道你为什么要使用 "fields as fields"?
或者检查您是否安装了 "Product" 模块?
您将获得 'Keyerror'
所以请检查你是否在 openerp.py 中给出了正确的依赖 即,您必须在 depends
中给出 'product'像这样给予:- 'depends': ['base', 'product'],
希望这对您有所帮助...
在 odoo 中,_name 在后端数据库中创建了一个新的 table。
所以,这里的问题是您在继承 _name = 'product.product' 时使用它已经存在于数据库(基本 class 产品)。
此外,如果您想要正常继承而不需要 _name 属性,只需通过 _inherit 进行扩展即可。
您正在使用的继承类型,因为 _name 不应等于 _inherit (_name != _inherit)。所以,要么给 _name='new.name'
一个新名字
如需更多说明,请查看此 link
https://www.odoo.com/documentation/8.0/howtos/backend.html