Есть стандартный метод
def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False)
Я звоню по этому супер и передаю домен вроде этого
[('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), ('employee', 'in', [49]), ('state', 'in', ['done'])]
и это работает.
но когда я пытаюсь добавить
domain.append(('&'))
domain.append(('state', 'in', ['progress']))
Я получаю
File "/home/www/workspace/openerp-7.0-20140804-231303/openerp/osv/expression.py", line 201, in normalize_domain
assert expected == 0, 'This domain is syntactically not correct: %s' % (domain)
AssertionError: This domain is syntactically not correct: [('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), ('employee', 'in', [49]), ('state', 'in', ['done']), '&', ('state', 'in', ['progress'])]
в основном, необходимо отфильтровать все записи по датам и в состоянии 'done'
, а также все записи в состоянии' progress '.
UPDATE.
если я пользовательский домен
domain = [('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), ('employee', 'in', [49]),
('state', 'in', ['done'])]
я получаю 3 записи,
и если я использую
domain = [('employee', 'in', [49]), ('state', 'in', ['progress'])]
Я получаю результат с 2 записями,
но если я объединю эти домены, я получу 0 записей
domain = [('state', 'in', ['progress']),('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), ('employee', 'in', [49]),
('state', 'in', ['done'])]
как должен выглядеть мой домен, чтобы я получил 5 записей?
, вероятно, проблема в том, что записи, которые в 'progress'
не имеют end_date