繁体   English   中英

如果odoo中有多个具有相同字段值的记录,如何在many2one下拉列表中仅显示1条记录

[英]How to display only 1 record in a many2one dropdown if there are more than one record with the same field value in odoo

我从 res.partner.bank 继承了一个 model,我添加了一个名为 location 的自定义字段,这就是 model 的样子。

class SalesPartnerBankInherit(models.Model):
    _inherit = 'res.partner.bank'

    location = fields.Char()

我有另一个从 sale.order 继承的 model,其字段与 res.partner.bank 具有 many2one 关系如果 res.partner.bank 中有超过 1 条记录,我只想在 many2one 下拉列表中显示 1 条记录相同的位置字段值? 这是我继承的 sale.order model 与 many2one location_id 字段

location_id = fields.Many2one('res.partner.bank',
                               string='Bank Account Location')

因此,如果有相同位置的重复 res.partner.bank 记录,我只想在下拉列表中显示 1 条记录。

首先,使您的字段compute ,然后在计算方法中搜索来自特定 model 的所有记录并根据您的要求进行分配。

location_id = fields.Many2one('res.partner.bank', string='Meters', compute="_get_value")

def _get_value(self):
    for i in self:
        records = self.env['res.partner.bank'].search([], limit=1) # search with one record only from whole search and assign it.
        i.location_id = records and records.id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM