OpenERP - 为什么在创建记录期间调用create()方法两次?

时间:2014-12-09 13:08:34

标签: python openerp odoo

我在product_product和product_template类中覆盖了create()方法。当我使用带有model product.product的视图并尝试通过按Save创建新记录(新产品)时,两个create()方法都被调用:首先在product_product中,然后在product_template中。由于vals值不同,这会导致问题。我希望只调用product_product create()。以下是代码段:

class product_product(osv.Model):
    _inherit = 'product.product'

    def create(self, cr, uid, vals, context=None):
    # ... validation code
    return super(product_product, self).create(cr, uid, vals, context=context)

class product_template(osv.Model):
    _inherit = 'product.template'

    def create(self, cr, uid, vals, context=None):
    # ... validation code
    return super(product_template, self).create(cr, uid, vals, context=context) 

1 个答案:

答案 0 :(得分:0)

每个产品都有一个必填字段,将其链接到模板(product_tmpl_id),因此如果您不为其提供现有模板,则必须创建一个新模板。 - Ludwik Trammer 12月10日10:56