如果a字段不是False,我想应用odoo域。
['|',('versions_ids', '=', version_id),(False, '=', version_id)]
我写的域名抛出此错误
TypeError:不可用类型:' list'
编辑:
对象扩展:
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>
答案 0 :(得分:0)
请尝试以下操作。
<xpath expr="/form/sheet/notebook/page[1]/field[@name='order_line']/tree/field[@name='product_id']" position="attributes">
<attribute name = "domain">['|',('version_ids', '=', version_id),('version_ids','=',False),'|',('version_id','=',False)]</attribute>
</xpath>
答案 1 :(得分:0)
这应该是这样的,
<xpath expr="/form/sheet/notebook/page[1]/field[@name='order_line']/tree/field[@name='product_id']" position="attributes">
<attribute name = "domain">['|',('version_ids', '=', version_id),('version_ids','=',False)]</attribute>
</xpath>
域的另一种选择。
['|',('version_ids', '=', version_id),('version_ids','=',[(6,False,[])])]