【问题标题】:Odoo Many2many field only get single record with loop alsoOdoo Many2many 字段也只能通过循环获得单个记录
【发布时间】:2021-05-05 15:29:40
【问题描述】:

我的模型中有 many2many 字段。我面临的问题是无法获取其他记录 ID,但只能获取第一个 ID。

field_name = fields.Many2many('res.partner')

for rec in self:
for customer in rec.field_name:
table_name = self.env['custom.model'].search([('customer_id','=',customer.id)])
for x in table_name:
    x.write({'value': value})

【问题讨论】:

    标签: python xml postgresql odoo


    【解决方案1】:

    是的。由于您的域搜索customer.id,它将始终返回一个记录集。

    不确定您的目标,但如果您想搜索相似的客户名称,请使用以下域。

    self.env['custom.model'].search([('customer_id.name', 'ilike', customer.name)])
    

    使用不带客户 ID 的搜索域值。

    【讨论】:

    • 是否可以使用 mapped() 函数?以及如何在循环中使用 mapped() 函数的结果来过滤记录?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    相关资源
    最近更新 更多