Вы можете использовать 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 Framework Rest, возможно, потребуется переопределить метод get_queryset()
в вашей точке зрения и вернуть QuerySet, содержащие объекты, которые были созданы сегодня.
class MyView(..):
def get_queryset(self):
..
return qs # return the queryset created using the above logic