如何用日期和时间过滤Django queryset?

时间:2019-09-21 14:53:51

标签: django python-3.x django-views

这是我的模型字段

start = models.DateTimeField(null=True,blank=True)
end = models.DateTimeField(null=True,blank=True)

假设我有价值,

cmp_date = '2019-09-05 20:09:00'

event_exists = Event.objects.filter(start__gte=cmp_date, end__lte=cmp_date).first()

在我的数据库中,我有start as "2019-09-05 18:09:00.000000" and end as "2019-09-06 19:09:00.000000"

但是这没有返回。.我想问题出在时间上?我可以知道如何过滤日期和时间吗?

1 个答案:

答案 0 :(得分:0)

您必须将cmp_date转换为日期时间对象

import datetime
cmp_date = datetime.datetime.strptime(cmp_date, "%Y-%m-%d %H:%M:%S")

并运行以下命令:

event_exists = Event.objects.filter(start__lte=cmp_date, end__gte=cmp_date).first()