Одно решение для отображения «всех» данных (зависит от объема данных) переопределяет name_get()
модели с двумя вариантами.
- Вариант на основе контекста
name_get()
Сначала переопределите name_get()
модели ecole.establishment.webservice
class SchoolEstablishmentWebServices(models.Model):
_name = 'ecole.establishment.webservice'
@api.multi
def name_get(self):
res = []
for webservice in self:
if 'full_name' in self.env.context:
res.append((webservice.id, webservice.get_full_name()))
else:
res.append((webservice.id, webservice.establishment_name))
return res
def get_full_name(self):
# example logic
self.ensure_one()
full_format = "{establishment}, {grade}"
return full_format.format(
establishment=self.establishment_name, grade=self.grade_name)
Затем вам нужно поместить значение full_name
в контекст.Вы могли бы добавить это к самому полю, которое не будет работать так хорошо.Лучше поместить это значение в контекст действия меню, которое используется для отображения ваших 'ecole.partner.school'
записей.
<record id="my.list.action.for.school" model="ir.actions.act_window">
<field name="name">my.action</field>
<!-- and so on -->
<field name="context">{'full_name': 1}</field>
</record>
Вариант не на основе контекста -> он такой же, как вариант 1, без использования контекста вообще.Он будет общесистемным не только там, где вы хотите.Это более простой вариант.