我在 Django 方面并没有真正的经验,但现在我正在尝试使用这样的模型类开发简单的项目:
class FacebookEvent(models.Model):
start_time = models.DateTimeField(null=True)
end_time = models.DateTimeField(null=True)
在 View 文件中 - 当我想要获取所有开始时间为今天、明天或任何其他日期范围(包括小时)的对象时没有问题:
my_date= request.POST.get('my_date','') # for eg. 2015-10-26
events = FacebookEvent.objects.all().filter(start_time__range=
(datetime.combine(my_date,(datetime.min).time()), datetime.combine(my_date,(datetime.max).time()))).order_by('start_time')
但现在我必须检查请求的日期 (my_date) 是否在模型的开始时间和结束时间之间。 我只需要做我以前做的一样的事情,但有点相反......
我花了几个小时,但我仍然找不到解决这个问题的任何概念。 有人知道吗?
提前致谢。
请您参考如下方法:
我不确定我是否理解这个问题。
如果您有模型实例和日期:
首先您需要将日期转换为 datetime.datetime 对象
from dateutil.parser import parse
my_date= request.POST.get('my_date','')
mdate = parse(mydate)
Then you can use mdate to do logical comparisons. i.e: mdate > fbEvent.start_time
如果您想要日期之间的模型实例
mdate = parse(mydate)
events = FacebookEvent.objects.filter(start_time__gt=mdate, end_time__lt=mdate)
