view中使用context.get()



  • 了解到view中可以使用context.get来做一些动态的处理,比如根据context里面的某个元素的值,来处理是否隐藏某个字段。
    搜了一下源代码,这样的应用还是很多的,比如:odoo\addons\base\res\res_bank_view.xml,

            <record id="view_partner_bank_search" model="ir.ui.view">
                <field name="name">res.partner.bank.search</field>
                <field name="model">res.partner.bank</field>
                <field name="arch" type="xml">
                    <search string="Bank Accounts">
                        <field name="bank_name" filter_domain="['|', ('bank_name','ilike',self), ('acc_number','ilike',self)]" string="Bank Name"/>
                        <field name="company_id" invisible="context.get('company_hide', True)"/>
                        <field name="partner_id"/>
                    </search>
                </field>
            </record>
    

    对于上面的代码,在视图中获取key为company_hide的context值,从而决定是否隐藏字段company_id。
    我尝试搜索源代码,看是在哪里设置company_hide的,但是没有找到任何处理的地方。我的问题是,这里的company_hide是在哪里产生和设置的?如果没有任何地方设置company_hide,那上面的代码设置那段invisible的处理又有什么意义?


  • 管理员

    应该是没有清理干净的legacy code


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待