Odoo name_get 如何在两个 many2one 字段中显示不同的显示名称?
Odoo name_get how to shows different display name in two many2one field?
我使用 Odoo(v10),我得到了两个具有相同关系的 many2one 字段:
product_id (sale.order)
product_id = fields.Many2one(
'product.product', 'Product',
domain=[('type', 'in', ['product', 'consu'])], index=True, required=True,
states={'done': [('readonly', True)]})
和product_id (stock.move)
product_id = fields.Many2one('product.product', related='order_line.product_id', string='Product')
,然后我有两个字段字符:name (product.product) 和 kode_produksi (product.product)
name = fields.Char(string='name')
kode_produksi = fields.Char(string='Kode Produksi')
我的目标:product_id (sale.order) 将根据字段名称显示值,product_id (stock.move) 将根据字段 [=32= 显示值], 有人可以解决这个问题吗?提前致谢
好的,我自己解决了,我做到了,试试这个代码..
型号:
_inherit = "product.product"
@api.multi
def name_get(self):
result = []
for record in self:
if self.env.context.get('product_id', False):
# Only goes off when the custom_search is in the context values.
name = str(record.name)
result.append((record.id, "{}".format(name)))
else:
kode_produksi = str(record.kode_produksi)
result.append((record.id, kode_produksi))
return result
在该代码上下文中,默认值为 False,并将在字段 kode_produksi 中显示数据作为显示名称 many2one。如果我输入 xml 代码,如下所示:
<field name="product_id" context="{'product_id':1}" />
它将字段名称中的数据显示为显示名称 many2one
我使用 Odoo(v10),我得到了两个具有相同关系的 many2one 字段:
product_id (sale.order)
product_id = fields.Many2one(
'product.product', 'Product',
domain=[('type', 'in', ['product', 'consu'])], index=True, required=True,
states={'done': [('readonly', True)]})
和product_id (stock.move)
product_id = fields.Many2one('product.product', related='order_line.product_id', string='Product')
,然后我有两个字段字符:name (product.product) 和 kode_produksi (product.product)
name = fields.Char(string='name')
kode_produksi = fields.Char(string='Kode Produksi')
我的目标:product_id (sale.order) 将根据字段名称显示值,product_id (stock.move) 将根据字段 [=32= 显示值], 有人可以解决这个问题吗?提前致谢
好的,我自己解决了,我做到了,试试这个代码..
型号:
_inherit = "product.product"
@api.multi
def name_get(self):
result = []
for record in self:
if self.env.context.get('product_id', False):
# Only goes off when the custom_search is in the context values.
name = str(record.name)
result.append((record.id, "{}".format(name)))
else:
kode_produksi = str(record.kode_produksi)
result.append((record.id, kode_produksi))
return result
在该代码上下文中,默认值为 False,并将在字段 kode_produksi 中显示数据作为显示名称 many2one。如果我输入 xml 代码,如下所示:
<field name="product_id" context="{'product_id':1}" />
它将字段名称中的数据显示为显示名称 many2one