odoo 10域签入日期!=签出日期

时间:2018-10-26 13:20:16

标签: list odoo-10

我正在与考勤一起工作,我想获得一个考勤列表,其中check_in.date()!= check_out.date()可以通过search(domain)做到这一点吗?

1 个答案:

答案 0 :(得分:0)

这是我想出的答案。

    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())

使用filtered()方法而不是将日期比较放入search()方法中,使我可以比较记录中的字段,而不是将字段与外部值进行比较。