Можно ли создать список в виде дерева? Odoo - PullRequest
0 голосов
/ 28 апреля 2018

Как это enter image description here

Пожалуйста, помогите мне, любое решение мне нужно

1 Ответ

0 голосов
/ 29 апреля 2018

Можно отобразить поле 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 в этом примере).

В основном вы должны создать меню и действие для отображения списка всех строк заказа на продажу, а затем сгруппировать по заказу на продажу, что будет (по крайней мере, очень похоже на) ваш пример в вашем вопросе.

...