Колонка секвенирования в Odoo/Openerp

В Odoo Treeview я могу добавить столбец последовательности следующим образом:

<field name="sequence" widget="handle"/>

Ручка виджета поддерживает автоматическое расположение последовательностей путем перетаскивания. Но если я перемещу первый элемент в другую позицию, новая последовательность первого элемента будет не 1, а другим числом. Мой вопрос:

1. Как я могу сделать так, чтобы последовательность первого элемента всегда была 1?
2. Есть ли другой способ добавить столбец порядка следования в Odoo Treeview? Я просто хочу, чтобы в столбце отображалось количество элементов в строке.


person Minh-Hung Nguyen    schedule 13.03.2015    source источник


Ответы (1)


Это работает для меня.

class TestModel(models.Model):
    _name = 'test.model'
    _description = 'test.model'

    sequence = fields.Integer()
    index = fields.Integer(compute='_compute_index')

    @api.one
    def _compute_index(self):
        cr, uid, ctx = self.env.args
        self.index = self._model.search_count(cr, uid, [
            ('sequence', '<', self.sequence)
        ], context=ctx) + 1

Если показать в дереве поле "индекс", оно не изменится, придется перезагружать представление :(.

person Yunier Rojas    schedule 21.04.2015