İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
2570 Görünümler


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  

Avatar
Vazgeç
En İyi Yanıt

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



Avatar
Vazgeç
Üretici

Worked, thanks!

For future notes: super was not necessary

İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Ara 19
4213
2
Ara 23
9748
1
Eki 21
342
1
Nis 20
7239
1
Mar 15
6632