【问题标题】:Filter inherited model field odoo过滤继承的模型字段odoo
【发布时间】:2019-10-22 19:54:27
【问题描述】:

我正在创建一个自定义模块,其中我有一个 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 社区版。

【问题讨论】:

  • 可以试试('supplier', '=', True),而不是('supplier', '!=', False)
  • @travisw 现在我用 '!=' 而不是 '=' 得到同样的错误。
  • 您的字段定义为seller,但您的域使用supplier。那是对的吗? seller 属于哪个班级?
  • @travisw 是的,我试图从 res.partner 获取供应商 = true 的条目。卖家是 alltests 类的一部分。

标签: python odoo odoo-12


【解决方案1】:

首先你不需要在动作中这样做, 相反,您应该在它自己的字段中执行此操作:

  1. 如果必须始终应用域,最好的做法是 把它放在字段声明中,这样当你在任何时候使用它时 查看域是否自动应用。
     seller = fields.Many2one('res.partner', 
                        string="Select Seller",
                        domain="[('supplier','=',True)]")
  1. 如果域并不总是被应用,那么在需要时将其添加到 XML 视图中
    <field name="seller" domain="[('supplier','=',True)]"/>

对于您在操作中使用的域是另一种情况 例如,如果你想为res.partner 创建一个菜单并且你想要 用户只能看到供应商,您可以通过这种方式将域添加到操作 无论用户对搜索视图做什么,总是会添加这个域 到选择的过滤器。

【讨论】:

  • 认为我应该使用第一种方法。我是odoo的新手。谢谢指正。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
  • 2018-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多