Я переносу модуль в версию 13.0, которая использует continue
в al oop внутри вычислительного метода, и ошибка на некоторое время сводила меня с ума.
Я упростил код до минимум, пока у меня не возникло такого рода глупости:
@api.depends('move_lines', 'move_lines.price_subtotal')
def _compute_subtotal(self):
for picking in self:
if picking.picking_type_id.code not in ['incoming', 'outgoing']:
continue
picking.update({
'amount_untaxed': 3.0,
})
Но я все еще получал ошибку, которая, кстати, была (и была показана только при создании новых комплектаций):
stock.picking(<NewId 0x7f5404ba5eb8>,).amount_untaxed
Итак, я понял, что проблема была в выражении continue
, если я его убрал, это сработало. И я пытался использовать continue
в нескольких циклах других вычислительных методов стандартных модулей Odoo, с тем же результатом.
До сих пор, если вы не присвоили значение для поля в вычисляемом методе, оно автоматически потребовалось False
, поэтому continue
не было проблемой.
Кто-нибудь сталкивался с такой же проблемой и с continue
?