odoo 10 домен check_in дата! = дата check_out - PullRequest
0 голосов
/ 26 октября 2018

Я работаю с посещаемостью и хочу получить список посещений, где check_in.date ()! = Check_out.date () есть ли способ сделать это с помощью поиска (домен)?

1 Ответ

0 голосов
/ 19 ноября 2018

Вот ответ, который я придумал.

    attendances = self.env['hr.attendance'].search([('tz_check_out', '!=', False)]).filtered(lambda r: datetime.strptime(r.tz_check_in, DEFAULT_SERVER_DATETIME_FORMAT).date() != datetime.strptime(r.tz_check_out, DEFAULT_SERVER_DATETIME_FORMAT).date())
    attendances |= self.env['hr.attendance'].search([('tz_check_out', '=', False), ('tz_check_in', '!=', False)]).filtered(lambda r: datetime.strptime(r.tz_check_in, DEFAULT_SERVER_DATETIME_FORMAT).date() != date.today())

Использование метода Filter () вместо сравнения дат в методе search () позволяет мне сравнивать поля в записи вместо поля с внешним значением.

...