Odoo 10:使用内部写入计算方法无效,为什么?

时间:2019-09-21 05:48:11

标签: odoo-10


不用多说了,让我向您展示代码,在注释行中即使执行也不会执行任何操作的代码行(设置了一个断点,我可以保证它可以正确执行)。

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方法什么也不做,我的意思是,它没有写“数据”。有人可以解释我为什么?

0 个答案:

没有答案