Я определил computed field
с помощью метода вычисления в odoo 10
, и теперь я хочу получить его значение в search orm
, но его значение остается False, а когда я попытался store=True
, его значение не изменилось.если у кого-то есть решение, пожалуйста, дайте мне знать, я буду очень благодарен.Мой код:
balance_amount = fields.Float(string="Balance Amount", compute='_compute_loan_amount')
@api.one
def _compute_loan_amount(self):
total_paid = 0.0
for loan in self:
for line in loan.loan_lines:
if line.paid:
total_paid += line.amount
balance_amount = loan.loan_amount - total_paid
self.total_amount = loan.loan_amount
self.balance_amount = balance_amount
self.total_paid_amount = total_paid
когда я использую search_count
ниже:
loan_count = self.env['hr.loan'].search_count([('employee_id', '=', values['employee_id']), ('state', '=', 'approve'),
('balance_amount', '!=', 0)])
он всегда получает значение счетчика, даже balance_amount
равно Zero