Skip to main content
 首页 » 编程设计

python之如何更改 odoo 12 中的 many2one 值字段名称

2025年05月04日17bhlsheji

嗨,当我在 odoo 12 中使用 many2one 函数时,我在它们之间有 many2one 关系(类)为什么我得到一个表名和 id(自动生成看起来像 odoo ORM)?而另一个 odoo 示例不是吗?我如何更改此值?

这是我的代码的样子,下面是我的模型:

# -*- coding: utf-8 -*- 
 
from odoo import models, fields, api 
 
class SalesorderSalesorder(models.Model): 
    _name = 'salesorder.salesorder' 
 
    no_faktur = fields.Char(String='No Faktur', required=True) 
    kd_sales = fields.Many2one('res.users', string='Kode Sales') 
    details = fields.One2many('salesorderdetails','no_faktur','List Item') 
 
 
    class SalesOrderDetails(models.Model): 
        _name = 'salesorderdetails' 
 
        no_faktur = fields.Many2one('salesorder.salesorder') 
        kd_produk = fields.Many2one('ms_produk.ms_produk','Kode Product',required=True) 

这是它的样子:

我的数据库中有这些列:

我想显示 kd_produk 而不是表名和 ID,我该如何更改?

请您参考如下方法:

默认情况下,name_search 函数使用 _rec_name 中定义的值(默认为“name”),但您的模型没有字段 name。所以只需添加您的模型:

_rec_name = "your_field_you_want_to_show_on_name_search"

另一种方法是修改函数name_get