英文:
Odoo 14 - how to change display name of "product_template_id" field ONLY in sale module?
问题
我正在尝试找出标题中提到的问题的解决方案。
在销售模块中,在创建销售订单并在“product_template_id”字段中选择产品后,我希望仅显示内部引用。
这是我发现的。此处产品的display_name受到“product.product”的控制。一旦我在product.product中进行更改,其他模块(如采购、会计)中的产品的display_name也会更改,这不是我想要的。
那么我该怎么办呢?
谢谢。
我尝试在“product.product”中覆盖name_get函数。但显示名称将在全局范围内更改,这不是我想要的。
希望有人能伸出援手。
英文:
I am trying to figure out solution of the problem mentioned in title.
In sale module, after I pressed "Add a product" when creating sale order and chose a product in "product_template_id" field, I want to display internal reference ONLY.
Here is what I found. display_name of product here is controlled by "product.product". Once I make changes in product.product, display_name of products in other module (like purchase, accounting) will also be changed, which is not what I want.
So how can I do this?
Thank you.
I tried to override name_get function in "product.product". But display name will be changed globally, which is not what I want.
Hope someone can lend me a helping hand.
答案1
得分: 1
如果查看产品 name_get 函数,您会看到可以通过上下文将 display_default_code
的值设置为 False
,以隐藏默认代码。
code = self._context.get('display_default_code', True) and d.get('default_code', False) or False
if code:
name = '[%s] %s' % (code, name)
您可以实现相同的逻辑来隐藏名称字段。
英文:
If you look at the product name_get function, you will see that you can set the display_default_code
value to False
through the context to hide the default code.
code = self._context.get('display_default_code', True) and d.get('default_code', False) or False
if code:
name = '[%s] %s' % (code,name)
You can implement the same logic to hide the name field.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论