【发布时间】:2016-04-12 10:33:05
【问题描述】:
我有一个带有 API 的 django 应用程序。我创建了许多查询,例如:
class ShellMessageFilter(django_filters.FilterSet):
created = django_filters.DateTimeFilter(name="created",lookup_type="gte")
class Meta:
model = Server
fields = ['created']
class ServersDateList(ListAPIView):
serializer_class = ServerSerializer
queryset = Server.objects.all()
filter_class = ShellMessageFilter
从 URL 中获取 Date stamp 并对其进行过滤。 但是现在我需要创建一个新的过滤器来显示过去两个小时更新的服务器模型。 我该怎么做?
我会尝试这样的事情,但过滤器坏了,它显示了所有项目:
class ShellMessageFilter2Hour(django_filters.FilterSet):
import datetime
# lastTwoHourDateTime = datetime.datetime.now() - datetime.timedelta(hours = 1)
# last_update = django_filters.DateTimeFilter(name=str(lastTwoHourDateTime.strftime('%Y-%m-%d %H:%M')),lookup_type="gte")
# last_update2 = datetime.datetime.now() - datetime.timedelta(minutes = 10)
# last_update = last_update2.strftime('%Y-%m-%d+%H:%M')
last_update = django_filters.DateTimeFilter("2016-04-23T15:31:50")
created = django_filters.DateTimeFilter(name="last_update",lookup_type="gte")
class Meta:
model = Server
fields = ['last_update']
class ServersDate2HourList(ListAPIView):
serializer_class = ServerSerializer
queryset = Server.objects.all()
filter_class = ShellMessageFilter2Hour
请帮忙,我的错误在哪里?
【问题讨论】:
标签: python django django-filter django-filters