0
场模型:如何获取今天创建的对象? (Django的RestFramework)
time = models.DateTimeField()
如何获得其中创建对象(只)今日(从00:00:00至23:59:59)
,如:
objects = Model.objects.filter(time__gt=?????????)
或?
感谢
场模型:如何获取今天创建的对象? (Django的RestFramework)
time = models.DateTimeField()
如何获得其中创建对象(只)今日(从00:00:00至23:59:59)
,如:
objects = Model.objects.filter(time__gt=?????????)
或?
感谢
您可以使用datetime.date.today()
来获得当前日期,然后筛选基于今天的日期的对象。
你可以这样做:
import datetime
today = datetime.date.today() # date representing today's date
qs = MyModel.objects.filter(time__gt=today) # filter objects created today
这里,qs
代表了当今创建的对象。
另一个解决方案将使用range
用于在两个日期之间执行查找。
这里,start_date
代表00:00:00
和end_date
代表23:59:59
。
import datetime
today = datetime.datetime.today()
start_date = datetime.datetime(year=today.year, month=today.month, day=today.day, hour=0, minute=0, second=0) # represents 00:00:00
end_date = datetime.datetime(year=today.year, month=today.month, day=today.day, hour=23, minute=59, second=59) # represents 23:59:59
qs = MyModel.objects.filter(time__range=(start_date, end_date)) # today's objects
由于您使用的Django的REST框架,您可能需要重写视图中的get_queryset()
方法返回一个包含今天创建的对象的查询集。
class MyView(..):
def get_queryset(self):
..
return qs # return the queryset created using the above logic