Сообщение #1
27 апреля 2017, 12:44
|
Простой пример получения в форме списка отношения many2one значений нескольких полей
В ниспадающий списке, полученном из отношения many2one часто необходимо включить значения из других полей.
Например, имеем модель 1 и модель 2
В простейшем случае при построении списка в форме model1 по полю model1_id мы получим список наименований поля name модели model2
Для добавления в данный список значения поля description необходимо переопределить функцию получения значения поля name в модели model2
Не забываем перед api.multi вставить @
Например, имеем модель 1 и модель 2
class model1(models.Model):
_name = 'test.model1'
name = fields.Char(required=True)
model1_id = fields.Many2one('test.model2',ondelete='set null')
class model2(models.Model):
_name = 'test.model2'
name = fields.Char(required=True)
description=fields.Char()
В простейшем случае при построении списка в форме model1 по полю model1_id мы получим список наименований поля name модели model2
<field name="model1_id" options="{'no_create': True}"/>
Для добавления в данный список значения поля description необходимо переопределить функцию получения значения поля name в модели model2
api.multi
def name_get(self):
result = []
for record in self:
name = record.name+' '+record.description
result.append((record.id,name))
return result
Не забываем перед api.multi вставить @
Последний раз редактировал пользователь
aladkoi
-
27 апреля 2017, 12:50