gpt4 book ai didi

python - 如何获取 One2many/Many2many 字段中的非事件记录?

转载 作者:行者123 更新时间:2023-11-28 21:38:22 25 4
gpt4 key购买 nike

举个One2many的例子,更清楚:想象一个人可以养几只宠物,但一只宠物只能有一个主人:

class Pet(models.Model):
_name='pet'

owner_id = fields.Many2one(
comodel_name='person',
string='Owner',
)
active = fields.Boolean(
string='Active',
default=True,
)

class Person(models.Model):
_name='person'

pet_ids = fields.One2many(
comodel_name='pet',
inverse_name='owner_id',
string='Pets',
)

现在你有一个人 (Id: 1) 有两只宠物 (Ids: 56, 57),但其中一只不活跃 (the一个 ID:57)。如果您打印 person.pet_ids,Odoo 返回 pet(56,)。那里不包括非事件记录。打印 person.pets_ids 时有没有办法显示它们?

到目前为止我这样做了:

pets = self.env['pet'].search([
('owner_id', '=', person.id),
'|',
('active', '=', True),
('active', '=', False),
])

但我想知道是否有更好的方法。

最佳答案

你可以通过

{'active_test': False}

在上下文中。在你的情况下:

pets = self.env['pet'].with_context(active_test=False).search([('owner_id', '=', person.id)])

关于python - 如何获取 One2many/Many2many 字段中的非事件记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48401803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com