不用多说了,让我向您展示代码,在注释行中即使执行也不会执行任何操作的代码行(设置了一个断点,我可以保证它可以正确执行)。
class AccountBankStatement(models.Model):
_inherit = "pos.session"
sale_cash_in_ids = fields.One2many(comodel_name="account.bank.statement.line", inverse_name="sale_cash_in_id",
compute="_compute_cash")
cash_out_ids = fields.One2many(comodel_name="account.bank.statement.line", inverse_name="cash_out_id",
compute="_compute_cash")
@api.depends("statement_ids")
def _compute_cash(self):
for record in self:
# record.write({'sale_cash_in_ids': [
# (6, 0, record.mapped('statement_ids').mapped('line_ids').filtered(lambda x: x.amount >= 0).ids)]})
# record.write({'cash_out_ids': [
# (6, 0, record.mapped('statement_ids').mapped('line_ids').filtered(lambda x: x.amount < 0).ids)]})
record.sale_cash_in_ids = record.mapped('statement_ids').mapped('line_ids').filtered(
lambda x: x.amount >= 0)
record.cash_out_ids = record.mapped('statement_ids').mapped('line_ids').filtered(
lambda x: x.amount < 0)
我很好奇为什么write方法什么也不做,我的意思是,它没有写“数据”。有人可以解释我为什么?