У меня есть метод 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)
Каждый продукт имеет обязательное поле, связывающее его с шаблоном ('product_tmpl_id'), поэтому, если вы не предоставили его существующий шаблон, он должен создать новый. –
Спасибо за комментарий Ludwik. – Nebojsa
Можете ли вы задать свой вопрос? –