как я могу оставить свой код в одном l oop? Это ограничивает меня в этом, потому что они имеют разное определение, поэтому я не могу уменьшить строку кода.
input_quantity= fields.Float(string="input_quantitya", compute="input_quantity")
@api.one
@api.depends ("detail_book_ids")
def _stock_entry (self):
sum = 0
for detail_book in self.detail_book_ids:
sum + = book_detail.quantity_debted
self.input_quantity = sum
merge_number= fields.Float(string="merge_number", compute="_stock_merma")
@api.one
@api.depends ("detail_book_ids")
def _stock_merma (self):
sum = 0
for detail_book in self.detail_book_ids:
sum + = detail_book.quantity_merm
self.merge_number = sum
output_quantity= fields.Float(string="output_quantity", compute="_stock_output")
@api.one
@api.depends ("detail_book_ids")
def _stock_output (self):
sum = 0
for detail_book in self.detail_book_ids:
sum + = book_detail.quantity_to have
self.output_quantity = sum
Мне нужно сделать это, потому что именно поэтому я получаю следующую ошибку: RecursionError: максимальная глубина рекурсии превышена при вызове объекта Python.
поле, которое вычисляет запас, выглядит следующим образом
stock= fields.Float(string="stock", compute="_stock")
@api.one
@api.depends('input_quantity','output_quantity','existencia','merge_numbe')
def _stock(self):
for rec in self:
rec.stock = rec.existencia + (rec.input_quantity - (rec.output_quantity + rec.merge_numbe))
ошибка на фотографии: