问题描述
我有一个关于在搜索视图中使用 One2Many 字段进行过滤的可能性的问题。 假设我在这里有这个字段:
class AccountInvoice(models.Model):
_inherit= 'account.invoice'
custom_field_ids = fields.One2Many(
comodel_name='account.payment.order',compute='some_method',readonly=True,)
<record id="view_payment_order_filter" model="ir.ui.view">
<field name="name">view.payment.order.filter</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.view_account_invoice_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='refunds']" position="after">
<filter string="In Payment Orders" domain="[('payment_order_ids','!=',False)]" />
</xpath>
</field>
</record>
当我更新模块时,它不会给我任何错误。但是过滤器不起作用。我对此做了一些研究,但没有真正的“最佳实践”解决方案。为该字段启用过滤器的好方法是什么。我基本上想显示 One2Many 字段不为空的所有发票。
解决方法
您无法使用未存储的字段进行过滤。一种解决方法是根据您的条件存储一个 bool 字段。比将此字段添加到搜索视图作为过滤器。