首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Odo8.0 product_product继承扩展类

Odo8.0 product_product继承扩展类
EN

Stack Overflow用户
提问于 2015-08-17 03:09:23
回答 3查看 1.8K关注 0票数 4

我要进入奥多了。我试图像这样扩展产品模型类。

代码语言:javascript
复制
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")
    }

并获得以下错误

代码语言:javascript
复制
  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文档吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-17 06:33:30

你得到的是“关键错误”

因此,请检查您是否在openerp.py中给出了正确的依赖,您必须在依赖中给出“产品”。

就像这样:-“依赖”:“基础”,“产品”,

希望这能帮上忙。

票数 9
EN

Stack Overflow用户

发布于 2015-08-17 08:01:42

在odoo中,_name在后端数据库中创建一个新表。

因此,这里的问题是您在继承_name = 'product.product‘时使用它,它已经存在于DB (基类产品)中。

另外,如果您想要正常继承而不需要_name属性,那么只需通过_inherit进行扩展即可。

您所使用的继承类型,即_name不应等于_inherit (_name != _inherit)。所以,要么给_ name ='new.name‘取一个新名称

要获得更多的澄清,请查看此链接。

https://www.odoo.com/documentation/8.0/howtos/backend.html

票数 2
EN

Stack Overflow用户

发布于 2015-08-17 05:12:17

试试这个:

代码语言:javascript
复制
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")
    }

我不知道你为什么要用“字段作为字段”?

或者检查您是否安装了“产品”模块?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32042238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档