美文网首页
odoo 预置方法 default_get

odoo 预置方法 default_get

作者: 边境_1c2d | 来源:发表于2021-02-07 15:21 被阅读0次

odoo models.Model 中 预置了很多的基本字段,比如 create_date, write_date 等等,odoo的 筛选和分组会默认使用这些字段,并且有时候可能是英文的,那么我们要如何处理这些字段呢?(如下图)

image.png

我们可以做在odoo预置的方法 fields_get中进行处理,fields_get方法在每次进入tree视图的时候回执行,实现格式如下:

    @api.model
    def fields_get(self, allfields=None, attributes=None):
        res = super(OkrManageLine, self).fields_get(allfields, attributes)
        for key, value in res.items():
            if key == 'create_date':
                res[key]['string'] = '创建时间'
            elif key == 'write_date': 
                res[key]['string'] = '最后更新时间'
        return res

调用父类fields_get的返回值是议程字典,我们可以通过判断字段的名称对其在筛选和分组中的显示标签进行调整

在筛选和分组中对一些字段进行隐藏实现格式如下:

    @api.model
    def fields_get(self, allfields=None, attributes=None):
        # 过滤掉筛选中不显示项
        res = super(SupplierInvoiceRecordPivot, self).fields_get(allfields, attributes)
        filter_field = ['create_uid', 'write_date', 'create_date', 'write_uid', 'uid']
        for key, value in res.items():
            if key in filter_field:
                res[key]['searchable'] = False
                res[key]['sortable'] = False
        return res
  • res[key]['searchable'] = False 设置字段 key 在筛选中不可见
  • res[key]['sortable'] = False 设置字段key在分组中不可见

相关文章

网友评论

      本文标题:odoo 预置方法 default_get

      本文链接:https://www.haomeiwen.com/subject/yyuztltx.html