跳至内容
菜单
此问题已终结
2 回复
12311 查看

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
6310
2
7月 18
8114
1
4月 15
4153
1
3月 25
1268
2
2月 25
5887