我正在创建一个自定义模块,其中我有一个many2one字段,该字段包含来自res.partner的供应商= True的条目。我的领域,
seller = fields.Many2one('res.partner', string="Select Seller")
请阅读我可以在xml文件中执行此操作并尝试过
<data>
<record id="test_menu_action" model="ir.actions.act_window">
<field name="name">Tests</field>
<field name="res_model">tests.alltests</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('supplier','=',True)]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create The First Test
</p>
</field>
</record>
<menuitem id="quality_main_menu"
name="Quality"/>
<menuitem id="test_create" parent="quality_main_menu" name="Test" action="test_menu_action"/>
</data>
这给了我以下错误,
Odoo Server Error ........
ValueError: Invalid field 'supplier' in leaf "<osv.ExtendedLeaf: ('supplier', '=', True) on tests_alltests (ctx: )
我该如何正确做?
我正在使用odoo V12社区版。
答案 0 :(得分:1)
首先,您无需在操作中执行此操作, 相反,您应该在自己的字段中执行此操作:
seller = fields.Many2one('res.partner',
string="Select Seller",
domain="[('supplier','=',True)]")
<field name="seller" domain="[('supplier','=',True)]"/>
对于您在操作中使用的域,它是用于另一种情况
例如,如果您想为res.partner
创建菜单,而您想
用户只能看到供应商,则可以通过以下方式添加域以进行操作
无论用户如何使用搜索视图,都将始终添加该域
到选定的过滤器。