В основном это удобный метод для возврата набора записей (списков объектов или значений). Допустим, вам нужен список всех адресов электронной почты партнеров, соответствующих определенному домену. Вы могли бы легко выполнить это так.
domain = [('email','not in',[False,None])]
records = self.env['res.partner'].search(domain)
email_list = records.mapped('email')
print(email_list)
>>> [u'[email protected]',u'[email protected]',u'[email protected]']
Таким образом, вам не нужно делать это
email_list = []
domain = [('email','not in',[False,None])]
for rec in self.env['res.partner'].search(domain):
if rec.email:
email_list.append(rec.email)
print(email_list)
>>> [u'[email protected]',u'[email protected]',u'[email protected]']
В приведенном выше примере odoo бы итерацию через все записи и вернул электронную почту от каждой записи в виде списка.
Чтобы вместо того, чтобы перебирать все записи, чтобы получить одно и то же поле из каждой записи, вы можете использовать отображаемый.
Этот пример швов прозрачный. Если нет, вы должны хорошо понимать, что такое набор записей. – Majikat