我要进入奥多了。我试图像这样扩展产品模型类。
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文档吗?
发布于 2015-08-17 06:33:30
你得到的是“关键错误”
因此,请检查您是否在openerp.py中给出了正确的依赖,您必须在依赖中给出“产品”。
就像这样:-“依赖”:“基础”,“产品”,
希望这能帮上忙。
发布于 2015-08-17 08:01:42
在odoo中,_name在后端数据库中创建一个新表。
因此,这里的问题是您在继承_name = 'product.product‘时使用它,它已经存在于DB (基类产品)中。
另外,如果您想要正常继承而不需要_name属性,那么只需通过_inherit进行扩展即可。
您所使用的继承类型,即_name不应等于_inherit (_name != _inherit)。所以,要么给_ name ='new.name‘取一个新名称
要获得更多的澄清,请查看此链接。
发布于 2015-08-17 05:12:17
试试这个:
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")
}我不知道你为什么要用“字段作为字段”?
或者检查您是否安装了“产品”模块?
https://stackoverflow.com/questions/32042238
复制相似问题