zoukankan      html  css  js  c++  java
  • odoo开发笔记 -- many2one搜索更多增加默认过滤条件

     没加过滤条件的时候,效果如下,点击下拉框,搜索更多出现所有模型下的模板:

    改进方法(增加默认过滤条件,显示指定模型下的内容):

    class IrCloudReport(models.Model):
        _inherit = 'test.aaa'
    
        cr_template_no = fields.Char(string="模板号")  # 唯一模板号
        saas_domain_name = fields.Char(string="企业域名")
    
    
    class DecEXReportTempSelectWizard(models.TransientModel):
        _name = 'test.bbb'
        _description = 'Cloud Report Selection'
    
        model = fields.Char(string="模型名")
        cr_template_id = fields.Many2one(comodel_name="test.aaa", string="报表模板ID",
                                         copy=False, required=True,
                                         domain=lambda self: [('model', '=', self._context.get('res_model'))],)  # 多对一字段 关联报表模型

    即:上方增加domain表达式:domain=lambda self: [('model', '=', self._context.get('res_model'))]

    光写表达式还没有用,需要给当前模型cr_template_id字段所在的视图中传入上下文:

    <record id="xxxxxxxxxx" model="ir.ui.view">
        <field name="name">cus xxxxxxxx</field>
        <field name="model">test.xxxxxxx</field>
        <field name="inherit_id"
               ref="XXXXXXXXXXXXXXXXX"/>
        <field name="arch" type="xml">
            <xpath expr="//header/button[@id='test.xxxxxxxxxx']" position="after">
                <button name="%(test.xxxxxxxx)d"
                        string="测试"
                        type="action" class="btn-primary"
                        context="{'res_model': '您自己需要过滤的模型名'}"/>
            </xpath>
        </field>
    </record>
  • 相关阅读:
    pc端布局方式
    idea中Git操作
    原型和原型链
    BFC块级格式上下文
    开发环境和生产环境
    webpack-dev-server报错
    es6类的继承
    js文件上传
    es6 字符串和数字常用方法
    es6 set容器和map容器
  • 原文地址:https://www.cnblogs.com/hellojesson/p/10020288.html
Copyright © 2011-2022 走看看