首页 > 解决方案 > 如何在odoo 12中使用name_get条件

问题描述

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


    is_specialist = fields.Boolean(string='Is Specialist')
    specialized_in = fields.Many2one('specialization',string='Specialization')
    hospital = fields.Char(string='Hospital')


    @api.depends('is_specialist')
    @api.multi
    def name_get(self):
       
        res = []
        self.browse(self.ids).read(['name', 'hospital'])
        for rec in self:
            res.append((rec.id, '%s - %s' % (rec.name, rec.hospital)))
        return res

我在这里要做的是,使用name_get功能选择专家时需要显示他的医院,所以我只想为专家提供条件,有一个名为的布尔字段。所以is_specialist我只想在布尔时获得条件真的

标签: odoo

解决方案


您只需要在建立他的名字时检查合作伙伴是否是专家,如果是,还显示医院。

@api.multi
def name_get(self):
    res = []
    for rec in self:
        res.append((rec.id, '%s - %s' % (rec.name, rec.hospital) if rec.is_specialist else rec.name))
    return res

推荐阅读