Django filter query when two datetime columns have same date

Viewed 25

I want to filter a Django queryset when two datetime columns have the same date.

I have tried the following two codes that do not work :

drivers = drivers.filter(deleted_at__date=F("created_at__date"))

and

drivers = drivers.filter(deleted_at__date=F("created_at"))
1 Answers

I have found this solution. This is not as nice as my first try above, but it works :

drivers = (
    drivers.annotate(created_at_date=TruncDate("created_at"))
    .filter(deleted_at__date=F("created_at_date"))
)
Related