Я хочу поместить bom_id каждого продукта в модель sale.order.line, чтобы сделать это, я использую вычисленное поле, чтобы получить идентификатор бомбы (mrp.bom). Мне это нужно для конкретной разработки, где цель состоит в том, чтобы показать потребленные материалы в соответствии с расчетом компании, прежде чем перейти к производству. Вот код:
bom_id = fields.Integer(
string='Bom ID',
compute='_get_bom_id'
)
@api.multi
def _get_bom_id(self):
bom_obj = self.env['mrp.bom']
for record in self:
bom_obj_id = bom_obj.search([('product_id', '=', record.product_id.id)])
if bom_obj_id:
record.bom_id = bom_obj_id.id
else:
record.bom_id = 0
Проблема в том, что поле не создано в модели sale.order.line, но если я уберу аргумент вычисления, оно будет работать. Я уже обновил модуль, зарегистрировался в pgadmin, ... Я знаю, что проблема связана с кодом, но не знаю, где. Вы можете мне помочь? Спасибо