Таким образом, вы хотите преобразовать datetime
, однако func.date()
приводит к datetime
в date
, поэтому вам не хватает часа / минуты / секунды. Вам просто нужно выполнить сравнение как обычно, без приведения ваших datetime:
order = self.trips_session.query(Order).filter(
and_(
Order.driverSystemId == driver_system_id,
Order.scheduledStartDateTime < start_date
)).order_by(
DispatchOrder.scheduledStartDateTime.desc()).first()
В качестве альтернативы, если один из предоставленных datetime не в формате datetime
, вы можете использовать func.datetime()
для приведения его / их не теряя времени информацию.