当两个datetime列具有相同日期时,Django过滤器查询

6ju8rftf  于 2023-05-30  发布在  Go
关注(0)|答案(1)|浏览(156)

当两个datetime列有相同的日期时,我想过滤Django查询集。
我尝试了以下两种代码,但都没有成功:

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

drivers = drivers.filter(deleted_at__date=F("created_at"))
trnvg8h3

trnvg8h31#

我找到了这个解决方案。这不像我上面的第一次尝试那么好,但它有效:

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

更简单的解决方案是:

drivers = drivers.filter(deleted_at__date=TruncDate("created_at"))

相关问题