OpenERP - добавлять поля только к некоторым продуктам внутри категории

Я настраиваю OpenERP v7. Я умею создавать модули и так далее.

Проблема в том, что не у всех товаров будут одинаковые поля. Например, для футболок я бы выбрал цвет, размер. Но для ремней у меня будут: Материал, Длина (как пример).

Я знаю вариант использования нескольких вариантов, но это очень сбивает с толку. Он создает новый столбец для значений размеров, но затем Имя продукта также содержит значения размеров. Это очень раздражает. Кроме того, доступ к шаблонам продуктов доступен только из модуля продаж, поэтому наш отдел закупок не имеет к нему доступа.

Хотелось бы большего, если бы предопределенный шаблон появлялся после того, как пользователь выбрал категорию продукта. Поскольку для продуктов из одной категории требуются одинаковые поля.


person EricPb    schedule 26.09.2014    source источник


Ответы (2)


Я бы посоветовал вам следующее.

Определите все поля в вашей модели (цвет, размер, материал и т. Д.). Затем скройте из представлений в соответствии с категорией продукта.

Чтобы скрыть какое-либо поле на основе значения category_id, вы можете попробовать что-то вроде этого:

<field name="some_field"
       attrs="{'invisible': [('category_id', 'not in', [1, 2, 3])]}"/>
person Andrei Boyanov    schedule 27.09.2014
comment
Это единственный способ? Я боюсь, что это увеличит размер базы данных, поскольку многие записи будут иметь пустые поля, поскольку это не относится к их категории. Если я скрываю поля в зависимости от выбранной категории, как я могу это сделать? Это нужно будет сделать с помощью category_id вместо category_name, если пользователь изменит имя категории. - person EricPb; 28.09.2014
comment
Боюсь, это единственно приемлемый способ сделать это. По крайней мере, я не вижу другого. В моем обновленном ответе показан пример того, как скрыть некоторые поля на основе идентификаторов категорий. - person Andrei Boyanov; 28.09.2014
comment
Спасибо @Andrei, я мог бы изменить его, чтобы просто отображать, в категории и если это child_of родительской категории. Я могу представить себе, как это устроить станет огромной работой, но если это единственный способ ... - person EricPb; 29.09.2014

Я нашел лучший способ решить эту проблему - использовать модуль product_custom_attributes, который можно загрузить с: https://www.odoo.com/apps/7.0/product_custom_attributes/

Этот модуль позволяет мне создавать наборы атрибутов, которые могут быть позже загружены в продукт, я также могу фильтровать продукты в зависимости от значения атрибута, что круто.

person EricPb    schedule 29.09.2014