Я хочу применить домен odoo, если поле не является False.Как написать условно доменное имя?
['|',('versions_ids', '=', version_id),(False, '=', version_id)]
домен, как я написал бросить эту ошибку
TypeError: unhashable type: 'list'
EDIT:
Объект удлиняет:
class sale_order_line(models.Model):
_inherit = 'sale.order.line'
version_id = fields.Many2one('product_cars_application.version',string='Version')
вид простираться
<record id="sale_cars_append" model="ir.ui.view">
<field name="name">sale.order.form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="." position="inside">
<script type='text/javascript' src='/product_cars_application/static/src/js/filter.js'></script>
</xpath>
<xpath expr="/form/sheet/notebook/page[1]/field[@name='order_line']/tree/field[@name='product_id']" position="before">
<!-- <button name="product_search" type="action" class="oe_highlight" icon="fa-car" /> -->
<field name="version_id"/>
</xpath>
<xpath expr="/form/sheet/notebook/page[1]/field[@name='order_line']/tree/field[@name='product_id']" position="attributes">
<attribute name = "domain">['|',('versions_ids', '=', version_id),(False, '=', version_id)]</attribute>
</xpath>
</field>
</record>
Если вы не возражаете предоставить больше контекста. Покажите код, где определяется ваш домен (а не только домен). Покажите определение поля, которое вызывает вашу функцию. –
@Phillip Stack редактировать добавление контекста –
Я видел что-то вроде этого. version_ids - это список, version_id - int или False. Вероятно, это сопоставление списка. Wrap 'version_id' в списке' ('versions_id', '=', [version_id]) –