21 lines
857 B
Python
21 lines
857 B
Python
# -*- coding: utf-8 -*-
|
|
import odoo
|
|
|
|
from odoo.tools import SQL
|
|
|
|
odoo.models.READ_GROUP_AGGREGATE.update({
|
|
'count_true': lambda table, expr: SQL('COUNT(*) FILTER (WHERE %s = true)', expr),
|
|
'count_false': lambda table, expr: SQL('COUNT(*) FILTER (WHERE %s = false)', expr),
|
|
})
|
|
|
|
# 哪个模型需要就移植到哪个模型下
|
|
# @api.model
|
|
# def web_read_group(self, domain, fields, groupby, limit=None, offset=0, orderby=False, lazy=True):
|
|
# result = super().web_read_group(domain, fields, groupby, limit, offset, orderby, lazy)
|
|
# fields_dict = self.fields_get(fields)
|
|
# for group in result.get('groups'):
|
|
# for field in fields:
|
|
# if fields_dict[field].get('type') == 'boolean':
|
|
# group[field] = len([r for r in self.search_read(group['__domain'], fields=[field]) if r.get(field)])
|
|
# return result
|