OpenERP - 在记录创建过程中为什么create()方法被调用两次?

问题描述:

我在我的product_product和product_template类中覆盖了create()方法。当我使用model product.product查看并尝试通过按Save创建新记录(新产品)时,将调用create()方法:首先在product_product中,然后在product_template中。由于vals值不同,这会导致问题。我期望只调用product_product create()。以下是代码片段:OpenERP - 在记录创建过程中为什么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) 
+0

每个产品都有一个必填字段将其链接到一个模板('product_tmpl_id'),所以如果你不与它必须创建一个新的现有模板提供。 – 2014-12-10 10:56:36

+0

感谢评论Ludwik。 – Nebojsa 2014-12-10 13:56:51

+0

你可以把你的问题解决? – 2014-12-19 23:33:01

每个产品都有一个必填字段将其链接到一个模板(product_tmpl_id),所以如果你不与它必须创建一个新的现有模板提供。 - 卢德维克登Trammer 12月10日10:56