Python 在域odoo中使用集合运算符?

Python 在域odoo中使用集合运算符?,python,odoo,Python,Odoo,我有一个实体“pay_activity”,带有一个antivity(activity_id)和一个purchase(purchase_id)。 该活动有一个账单列表,purchase也有一个账单列表。我想将域应用于活动,因此用户只能选择具有 采购票据列表中至少有一张票据。我试过: set (activity_id.bills_ids) & set (purchase_bill_id) != None. 但我无法将这些运算符应用于域。是否有任何方法可以仅选择在“购买\账单\标识”列表中

我有一个实体“pay_activity”,带有一个antivity(activity_id)和一个purchase(purchase_id)。 该活动有一个账单列表,purchase也有一个账单列表。我想将域应用于活动,因此用户只能选择具有 采购票据列表中至少有一张票据。我试过:

set (activity_id.bills_ids) & set (purchase_bill_id) != None. 
但我无法将这些运算符应用于域。是否有任何方法可以仅选择在“购买\账单\标识”列表中至少有一张账单的活动

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\u id
。要在
activity\u id
字段域中使用它,您应该将
store
属性设置为
True
或定义
search
方法

purchase\u id
是一个与多个字段相关的多个字段,我认为您应该删除相关属性

尝试:

  • center.activity.bills\u id
    store属性设置为True

  • 中心删除
    相关属性
    。支付活动。购买id

  • 在表单视图中使用以下域:

    domain="[('bills_ids', 'in', purchase_bill_id)]"
    

非存储字段
中心.活动.票据ID
。要在
activity\u id
字段域中使用它,您应该将
store
属性设置为
True
或定义
search
方法

purchase\u id
是一个与多个字段相关的多个字段,我认为您应该删除相关属性

尝试:

  • center.activity.bills\u id
    store属性设置为True

  • 中心删除
    相关属性
    。支付活动。购买id

  • 在表单视图中使用以下域:

    domain="[('bills_ids', 'in', purchase_bill_id)]"