フィールドがFalseでない場合は、odooドメインを適用したいと考えています。私はこのエラーをスロー書いたよう条件付きでodooドメインを書き込む方法は?
['|',('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です。リストの比較はおそらく問題です。 '( 'versions_ids'、 '='、[version_id])リストで' version_id'をラップしてください。 –