Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
2641 Lượt xem


Hi,


I'm using a Brazilian localization app that creates the field and populates it with a list of brazilian cities according to chosen state, to make it easier for the user.


The app works fine, except that it doesn't display the city's name when I use .


I believe I have tracked the problem ->  calls the function to format the address anddoesn't know how to handle args likeor.


I think I have to overide, but I'm really not sure how. My code:

from odoo import models, fields, api, _



class Partner(models.Model):
_name = "res.partner"


def _display_address(self, without_company=False):

address_format = self._get_address_format()
args = {
'state_code': self.state_id.code or '',
'state_name': self.state_id.name or '',
'country_code': self.country_id.code or '',
'country_name': self._get_country_name(),
'company_name': self.commercial_company_name or '',
'city_name': self.city_id.name or '',    
'city_code': self.city_id.code or '',  
}
for field in self._formatting_address_fields():
args[field] = getattr(self, field) or ''
if without_company:
args['company_name'] = ''
elif self.commercial_company_name:
address_format = '%(company_name)s\n' + address_format
return super(address_format) % args


What am I doing wrong? Is the usage of Super correct?


Thanks in advance  

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

You have inherited this or doing in the base code? if inherited then change the _name to _inherit. 



Ảnh đại diện
Huỷ bỏ
Tác giả

Worked, thanks!

For future notes: super was not necessary

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 12 19
4316
2
thg 12 23
9843
1
thg 10 21
342
1
thg 4 20
7329
1
thg 3 15
6681