2014-12-09 1 views
0

У меня есть метод override() в классе product_product и product_template. Когда я использую представление с продуктом product.product и пытаюсь создать новую запись (новый продукт), нажав «Сохранить», вызывается метод 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'), поэтому, если вы не предоставили его существующий шаблон, он должен создать новый. –

+0

Спасибо за комментарий Ludwik. – Nebojsa

+0

Можете ли вы задать свой вопрос? –

ответ

0

Каждый продукт имеет обязательное поле, связывающую его шаблона (product_tmpl_id), так что если вы не предоставите его с существующим шаблоном он должен создать новый. - Ludwik Trammer Dec 10 at 10:56