如何使用记录列表将域应用于Odoo中的Many2One字段



我有一个实体"pay_activity",带有antity(activity_id(和购买(purchase_id(。 购买具有与该购买相关的活动列表 (activity_ids(。 我想将域应用于活动,因此用户只能在购买的活动列表 (purchase_activity( 中选择一个活动。 我尝试将域域=[('id','in',purchase_activity(]应用于活动字段,但它显示错误"递归错误:调用Python对象时超出最大递归深度"。 如何将域应用于activity_id字段以确保用户仅选择与购买相关的所有活动列表中的活动 (purchase_activity( ? 这是我的代码:

class CenterPayActivity(models.Model):
_name = 'center.pay_activity'
_description = 'Permite distribuir los pagos entre las actividades'

purchase_id = fields.Many2one('center.purchase', string='pago')
purchase_activity = fields.Many2many('center.activity', related="purchase_id.activity_ids")
activity_id = fields.Many2one('center.activity', string='Actividad', required=True, domain=[('id','in',purchase_activity)] )

字符串域应该是动态的,并且仅在客户端进行评估。

在表单视图中使用字段域,它将在显示现有记录以供选择时应用:

<field name="activity_id" domain="[('id', 'in', purchase_activity)]"/>

最新更新