コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
12384 ビュー

Hello, 

I created a new many2one field in res.partner (inherited): 

Py file:

city = fields.Many2one('res.country.state.city', "Department") 


XML View:

<field name="city" options="{'no_open': True}" placeholder="Cuidad" attrs="{'readonly':[('change_country', '=', False)], 'invisible':[('state_id', '=', False)]}" />


As you see I am trying to modify / extend the address in res.partner.
In my module res.partner it looks very good, so the city is shown correctly (e.g. "New York")


When I open another module where the address is used, e.g. state.order, the variable city is not shown correctly as the type of the field changed from Char to many2one. Instead of showing the city, I get this value in sale.order:

res.country.state.city(820,) 63


Obviously I want to see the city and not some numbers :-). I assume that any other module is trying to read the variable as a Char, but the type changed to many2one. 


Any ideas on how to solve this issue? Is there a way to transform values of many2one filed to simple text / char?

アバター
破棄
最善の回答
# create a related field with city_id as below: 
city_id = fields.Many2one('res.country.state.city', "CityID") 
city = fields.Char(related='city_id.name', "City") 

アバター
破棄
最善の回答

Hi  Dominic,

   Its because of 'name' field or "_rec_name" is not defined in your model "res.country.state.city".

Add _rec_name after model name like...

_name = "res.country.state.city"
_rec_name = "city"

You will get some detailed answer from here:

https://www.odoo.com/forum/help-1/question/many2one-field-shows-only-id-21912
https://www.odoo.com/forum/help-1/question/many2one-field-not-showing-field-values-50268

 Kind Regards,

アバター
破棄
関連投稿 返信 ビュー 活動
3
10月 20
6372
2
7月 18
8148
1
4月 15
4234
1
3月 25
1358
2
2月 25
5955