order.mapped('purchase_payment_ids')
Оно чем-то лучше простого
payment_ids = self.purchase_payment_ids
?
ну как минимум это красиво :D :D :D
Может в предыдущих версиях не было поля purchase_payment_ids
Та не, тут же итерация по self: for order in self: payment_ids = self.env['account.payment'] payment_ids |= order.mapped('purchase_payment_ids')
если было вот так: payment_ids = self.env['account.payment'] for order in self: payment_ids |= order.mapped('purchase_payment_ids') тогда ясно что почем и зачем но в любом случае тогда неясно, почему не сделать self.mapped( короче, или была логика, которую почикали, или рефакторили много и не до конца
ничем не лучше. Кода больше(= саппортить дороже), работает медленнее, а смысл сего усложнения кода - не просматривается,...
имейте ввиду еще, что когда мы пишем .mapped - мы получаем set, и если надо список повторяющихся значений (для _ids - не актуально), то в общем виде self.mapped('field') != self.field
да, это известная шутка. но в конструкции for order in self: payment_ids = self.env['account.payment'] payment_ids |= order.mapped('purchase_payment_ids') вообще как-то выглядит... потеряно, что ли :D
сама конструкция - дикая. Цикл по селфу, чтобы потом из каждого выбрать purchase_payment_ids как говориться: вот а хєлл из гоуин он?
list or recordset
лист для нерекордов, рекордсет для рекородов
Обсуждают сегодня