【问题标题】:odoo inherit more one templateodoo 继承多个模板
【发布时间】:2015-02-01 01:10:09
【问题描述】:

我尝试在 Odoo 的选项卡中插入树模板。

我想实现一个新类时遇到问题。与创建的另一个模板相关的类。

服务器回溯:

File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 101, in __getitem__
return self.models[model_name]
KeyError: 'products.group'

你有什么想法吗?

原创

from openerp.osv import fields, osv
from openerp.tools.translate import

class product_template(osv.osv):
    _inherit = "product.template"
    _description = "ClicShopping Product Template"

我的修改

from openerp.osv import fields, osv, orm
from openerp.tools.translate import

class product_template(osv.osv):
    _inherit = "product.template"
    _description = "Product Template"
    _columns = { ......}


class products_group(orm.Model):
    _inherit = 'products.group'
    _columns = { ......}

我的模板 products_group(orm.Model):

from openerp.osv import orm, fields
from openerp.tools.translate import _

class products_group(orm.Model):
    _name = 'products.group'

    _columns = { ......}

【问题讨论】:

  • 如果class products_group 是在其他文件中定义的,而不是在__init__.py 中签出该文件的导入顺序,请确保__init__.py 首先使用此代码_name = 'products.group' 加载

标签: python templates inheritance odoo


【解决方案1】:

在 OpenERP 中,当我们继承其他类时,序列很重要。所以首先我们需要匹配那个层次结构。例如,如果在其他文件中定义了任何新对象并且我们在另一个文件中继承该类,那么我们必须首先加载/导入父文件。所以我们永远不会得到那种key error

在您的情况下,如果 class products_group 在其他文件中定义,而不是在 __ init __.py 中签出该文件的导入顺序

确保 __ init __.py 首先加载这个

code _name = 'products.group'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2011-03-22
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多