Odoo使用name_get如何显示两个不同的显示值?

时间:2018-03-09 12:58:19

标签: python odoo

在巡回表格中: -

目前显示

酒店 - >酒店名称与Ville名称

在Tour Tree视图中: -

酒店 - >酒店名称与Ville名称

实际要求

在巡回表格中: -

酒店 - >酒店名称与Ville名称

在Tour Tree视图中: -

酒店 - >酒店名称

class obj_ghotel(osv.osv):
    _name = "obj.ghotel"
    _description = "Objet ghotel"
    _rec_name = "nom_hotel"

    @api.multi
    def name_get(self):
        res = []
        for asset in self:
                res.append((asset.id,asset.nom_hotel + ' - ' + asset.id_ville.nom))
        return res
     _columns = {
        'nom_hotel': fields.char("Nom d'hotel", required=True),
        'id_ville': fields.many2one('obj.ville', 'ville', selection=_get_selection),
    }

图片: enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

这可以通过上下文来实现。在表单视图中的字段上传递一些上下文,检查name_get方法中的上下文值,如果满足则只传递ville nom。