在实际的业务开发中,我们偶尔会对tree视图上方的字段进行控制,如下图所示:
这个筛选字段默认是显示所有字段,不包括计算字段。一旦一个模型的字段多起来,而我们经常筛选的往往是那么几个字段,所以这就加大了寻找这个字段的时间,这时便需要减少可用于筛选的字段,还有就是控制字段显示名称,是否可以用来分组。
这样的一些需求往往是通过重写底层的fields_get方法进行控制:
@api.model
def fields_get(self, allfields=None, attributes=None):
res = super().fields_get(allfields=allfields, attributes=attributes)
res['control_date']['string'] = '检查日期'
res['control_date']['searchable'] = True
return res
上述代码中的res是一个包含所有字段的字典,每个字段的所有属性也封装在一个字典里面,具体内容使用print打印出来便知道,通过赋值的方式设置字段的属性对字段进行控制,上述例子中设置字段在筛选时候的显示名称,已经设置是否可以搜索。