Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
2625 Представления


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  

Аватар
Отменить
Лучший ответ

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



Аватар
Отменить
Автор

Worked, thanks!

For future notes: super was not necessary

Related Posts Ответы Просмотры Активность
1
дек. 19
4295
2
дек. 23
9826
1
окт. 21
342
1
апр. 20
7308
1
мар. 15
6659