Можно отобразить поле Onemany
или Many2many
непосредственно в виде дерева, но они будут отображать только количество записей, а не их содержимое.
(2 records)
Нет никакого способа отобразить каждую из этих записей в отдельной строке, как вы показали в своем вопросе.
Вы могли бы использовать вычисленное поле Text
только для отображения в древовидных представлениях, таких как ниже.
Примечание. Вы не предоставили никакой реальной информации, связанной с вашей ситуацией, поэтому я собираюсь использовать пример. Предположим, вы хотите просмотреть список заказов на продажу и в представлении списка вы хотите отобразить название каждого продукта в этом заказе.
Class SaleOrder(models.Model):
_inherit = 'sale.order'
# This is whatever field has the multiple records you want to display
order_line = fields.One2many('sale.order.line',
'order_id',
string='Order Lines', ...)
order_line_text = fields.Text('Order Lines (Text)',
compute='_compute_order_line_text',
store=True)
@api.multi
@api.depends('order_line')
def _compute_order_line_text(self):
for order in self:
product_names = [line.product_id.name for line in order.order_line]
# You may have to use a different line breaking character
# It depends what is rendered in the list view
order.order_line_text = "\n".join(product_names)
Если это решение не работает так, как вы хотите, то следующим вариантом будет создание меню, отображающего список полей x2many
(order_line
в этом примере).
В основном вы должны создать меню и действие для отображения списка всех строк заказа на продажу, а затем сгруппировать по заказу на продажу, что будет (по крайней мере, очень похоже на) ваш пример в вашем вопросе.