The method was expecting that name_get() returns complete and in-order values.
Because of this, some records in the recordset could end up without a value.
@api.depends(lambda self: (self._rec_name,) if self._rec_name else ())
def _compute_display_name(self):
- for i, got_name in enumerate(self.name_get()):
- self[i].display_name = got_name[1]
+ names = dict(self.name_get())
+ for record in self:
+ record.display_name = names.get(record.id, False)
@api.multi
def name_get(self):