跳至內容
選單
此問題已被標幟
1 回覆
5015 瀏覽次數

Hi,

for example in sale.order.line model we have price_unit field, but in front view we see "Unit Price"

price_unit = fields.Float('Unit Price', required=True, digits=dp.get_precision('Product Price'), default=0.0)

How to pull out this text through a python? such as such 

test = self.env['sale.order.line'].browse(1).price_unit.string

and in test variable will be "Unit Price"

頭像
捨棄
最佳答案

The field label is stored in the model ir.model.fields. You can find a definite object by its name and related model. An example:

field_id = self.env["ir.model.fields"].sudo()._search([
("name", "=", "price_unit"),
("model", "=", "sale.order.line")
], limit=1)
label = field_id and field_id.field_description or "Not defined"

Take into account that the name would be shown in the SuperUser language. In order to show it a different language you should pass the context with a required lang code.

頭像
捨棄

field_id.with_context(lang='ru_RU').field_description - should work.

Better use English: otherwise the question might be closed by others.

作者

nice, a million thanks to you

I did not close the question, but deleted the russian comment :-)

相關帖文 回覆 瀏覽次數 活動
1
10月 21
4654
2
9月 21
5631
3
3月 20
43164
1
7月 19
3037
2
5月 19
6439