如何更改odoo12中的多个值字段名?

2024-09-25 02:40:27 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,当我在odoo12中使用manyOne函数时,它们之间有很多关系(class)为什么我会得到一个表名和id(它自动生成的结果看起来像是由odoorm生成的)?另一个奥多的例子不是吗?如何更改此值?在

下面是我的代码,下面是我的模型:

# -*- 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)

下面是它的样子: enter image description here

我的数据库中有这些列:

enter image description here

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


Tags: nonameidtruefieldsmodelmodelsrequired
2条回答

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

_rec_name = "your_field_you_want_to_show_on_name_search"

另一种方法是修改函数name_get

在您的ms_produk.ms_produk模型中添加_rec_name作为kd_produk字段

例如:

   class MsProduk(models.Model):
      _name = 'ms_produk.ms_produk'
      _rec_name = 'kd_produk'

相关问题 更多 >