嗨,当我在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,我该如何更改?
答案 0 :(得分:5)
默认情况下,name_search
功能使用_rec_name
中定义的值(默认为“名称”),但是您的模型没有字段name
。因此,只需添加您的模型:
_rec_name =“您的field_you_want_to_show_on_name_search”
另一种方法是修改功能name_get
答案 1 :(得分:1)
在您的_rec_name
模型中将kd_produk
添加为ms_produk.ms_produk
字段,
例如:
class MsProduk(models.Model):
_name = 'ms_produk.ms_produk'
_rec_name = 'kd_produk'