W moim module Mam następujące pola many2one: 'xx_insurance_type': fields.many2one('xx.insurance.type', string='Insurance')
odoo - nazwa wyświetlana kombinacji pola many2one 2 pól
gdzie xx.insurance.type
jest następujący:
class InsuranceType(osv.Model):
_name='xx.insurance.type'
_columns = {
'name' : fields.char(size=128, string = 'Name'),
'sale_ids': fields.one2many('sale.order', 'xx_insurance_type', string = 'Sale orders'),
'insurance_percentage' : fields.float('Insurance cost in %')
}
wiem pole many2one bierze nazwa pole jako wyświetlana nazwa, ale chciałbym, aby to było połączenie z name
i insurance_percentage
w postaci name + " - " + insurance_percentage + "%"
czytam najlepiej jest zastąpić metodę get_name
więc próbowałem następujące:
def get_name(self,cr, uid, ids, context=None):
if context is None:
context = {}
if isinstance(ids, (int, long)):
ids = [ids]
res = []
for record in self.browse(cr, uid, ids, context=context):
name = record.name
percentage = record.insurance_percentage
res.append(record.id, name + " - " + percentage + "%")
return res
i umieszcza to wewnątrz klasy ÌnsuranceType`. Ponieważ nic się nie stało: Czy muszę umieścić go wewnątrz głównej klasy zawierającej pole? Jeśli tak, czy istnieje inny sposób, aby to zrobić, ponieważ prawdopodobnie zmieni to również sposób wyświetlania innych pól many2one?
Nazwa metody jest 'name_get' zamiast' get_name' – ChesuCR