[英]Using set operators in domain odoo?
我有一个带有活动(activity_id)和购买(purchase_id)的实体“pay_activity”。 活动有一个账单清单,购买也有一个账单清单。 我想将域应用于活动,因此用户只能 select 购买的账单列表中至少有一个账单的活动。 我努力了:
set (activity_id.bills_ids) & set (purchase_bill_id) != None.
但我不能将这些运算符应用于域。 有什么办法可以让 select 仅在 purchase_bill_id 列表中至少有一张账单的活动?
class CenterPayActivity(models.Model):
_name = 'center.pay_activity'
_description = 'Permite distribuir los pagos entre las actividades'
activity_id = fields.Many2one('center.activity', string='Actividad', required=True )
purchase_id = fields.Many2one('center.purchase', related="payment_id.bill_ids")
purchase_bill_id = fields.Many2many('center.bill', related="purchase_id.bill_ids")
class CenterActivity(models.Model):
_name = 'center.activity'
bills_ids = fields.Many2many(comodel_name='center.bill',
delete="cascade",
compute="_compute_bills_ids")
非存储字段center.activity.bills_ids
无法搜索。 要在activity_id
字段域中使用它,您应该将store
属性设置为True
或定义search
方法。
purchase_id
是与 Many2many 字段相关的 Many2one 字段,我认为您应该删除相关属性。
尝试:
将center.activity.bills_ids
存储属性设置为 True。
从center.pay_activity.purchase_id
中删除related attribute
。
在表单视图中使用以下域:
domain="[('bills_ids', 'in', purchase_bill_id)]"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.