#python #python-3.x #odoo #odoo-14
#python #python-3.x #odoo #odoo-14
Вопрос:
У меня был этот код в Odoo 12, и он работает нормально, как только мы перешли на Odoo 14, выдает ошибку при нажатии на поле ролей.
Ошибка кода
Traceback:
Error: second argument to Function.prototype.apply must be an array
Первый вид
Вид
Сообщение об ошибке трассировки стека
роль поля заполняется следующим образом:
Вид:
<odoo>
<data>
<record id="product_pricelist_item_form_inherit" model="ir.ui.view">
<field name="name">product.pricelist.item.inherit</field>
<field name="model">product.pricelist.item</field>
<field name="inherit_id" ref="product.product_pricelist_item_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='product_tmpl_id']" position="attributes">
<attribute name="string">Roles</attribute>
<attribute name="domain">"[('is_employee','=', True)]"</attribute>
</record>
</data>
</odoo>
переменные в модели:
item_ids = fields.One2many('product.pricelist.item', 'pricelist_id', 'Pricelist Items',copy=True, default=False)
is_employee = fields.Boolean(string='Is an Employee', default=True)
Есть ли обновления синтаксиса для Odoo 14?
Комментарии:
1. было бы здорово, если бы вы добавили некоторый фрагмент кода в свой вопрос. Нравится, как вы заполняете
role
поле через python?2. спасибо за ваш ответ извините, я новичок в размещении вопросов в стеке, добавил фрагмент кода
Ответ №1:
Когда мы применяем домен, используя атрибуты на стороне xml, он должен быть в стиле списка вместо двойных кавычек. Например
<attribute name="domain">[('is_employee','=', True)]</attribute>
И не забудьте закрыть тег xpath . Я не вижу этого в вашем вопросе.