我有一个项目预算模型(project.budget)每个项目预算有许多行,这意味着我有一个模型(project.budget.line)。我在发票模型(account.move)中添加了一个many2one字段:budget_id这个字段指的是项目预算模型,我还在发票行模型(account.move.line)中添加了一个many2one字段,它是:budget_line这个字段指的是项目预算行模型。我想要的,当我选择一个预算使用预算id账户移动过滤账户的预算线移动线使用改变意义只返回线属于项目预算,但什么也没有发生这是我的代码:
class CustomAccountingMove(models.Model):
_inherit = 'account.move'
budget_id = fields.Many2one('project.budget', string='Project Bugdet')
@api.onchange('budget_id')
def onchange_budget_id(self):
for rec in self:
return {'domain': {'invoice_line_ids.budget_line': [
('id',
'in',
rec.mapped('budget_id.budget_line_ids.id')
)]
}
}
class CustomAccountingMoveline(models.Model):
_inherit = 'account.move.line'
budget_line = fields.Many2one('project.budget.line', string='Budget Line')
您可以在视图中设置域,并使用parent
来获取budget_id
:
<field name="budget_line" domain="[('budget_id', '=', parent.budget_id)]"/>
左边的budget_id
是budget_line_ids
的逆名