我创建了一个模型版本,像这样添加与产品模型的关系:
class product_template(models.Model):
_inherit = 'product.template'
versions_ids = fields.Many2many('mymodel.version',string='Versions')
class sale_order(models.Model):
_inherit = 'sale.order'
version_filter = fields.Many2one('mymodel.version')
我在 sale.order 视图中添加了一个“version_filter”字段,现在想按此关系过滤产品搜索,但只有那些正在添加的,而不是之前添加的
像这样:
<record id="sale_filter_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="//field[@name='order_line']" position="before">
<group colspan="4">
<field name="version_filter"/>
</group>
</xpath>
<xpath expr="//field[@name='product_id']" position="replace">
<field name="product_id"
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom, 'company_id': parent.company_id}"
attrs="{'readonly': ['|', ('qty_invoiced', '>', 0), ('procurement_ids', '!=', [])]}"
domain="[('version_filter', 'in', versions_ids)]"
/>
</xpath>
</field>
</record>
但是“product_id”字段永远不会被替换。
我宁愿在 many2one 字段中的“搜索更多”选项中制作一个模态表单......但是如果有人可以帮助我按域过滤 order_line product_id 搜索它就可以了
谢谢阅读!