Django rest framework 根据加入日期筛选用户
我正在尝试根据加入日期筛选用户。但不知何故,它也需要时间,即使我将其格式化为只有日期,例如“2020-05-08”Django rest framework 根据加入日期筛选用户,django-rest-framework,Django Rest Framework,我正在尝试根据加入日期筛选用户。但不知何故,它也需要时间,即使我将其格式化为只有日期,例如“2020-05-08” 您应该在序列化程序中使用DateField,而不是DateTimeField: 如果您的模型中有DateTime字段(我猜,您似乎正在使用标准用户),那么您将需要使用相应的序列化器字段。如果希望在模型中包含DateTime字段,但只按日期筛选,则应自定义视图/序列化器/筛选器 最简单的方法是: class UserViewSet(viewsets.ReadOnlyModelVie
您应该在序列化程序中使用DateField,而不是DateTimeField: 如果您的模型中有DateTime字段(我猜,您似乎正在使用标准用户),那么您将需要使用相应的序列化器字段。如果希望在模型中包含DateTime字段,但只按日期筛选,则应自定义视图/序列化器/筛选器 最简单的方法是:
class UserViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = UserSerializer
def get_queryset(self):
some_date = self.request.GET.get('date')
qs = User.objects.all()
if date:
#filter depends of what exactly do you want
return qs.filter(date_joined__contains=some_date)
return qs
您可以在此处查看日期筛选器的示例:
您应该在序列化程序中使用DateField,而不是DateTimeField: 如果您的模型中有DateTime字段(我猜,您似乎正在使用标准用户),那么您将需要使用相应的序列化器字段。如果希望在模型中包含DateTime字段,但只按日期筛选,则应自定义视图/序列化器/筛选器 最简单的方法是:
class UserViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = UserSerializer
def get_queryset(self):
some_date = self.request.GET.get('date')
qs = User.objects.all()
if date:
#filter depends of what exactly do you want
return qs.filter(date_joined__contains=some_date)
return qs
您可以在此处查看日期筛选器的示例:
{
"date_joined": [
"Enter a valid date/time."
]
}
class UserViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = UserSerializer
def get_queryset(self):
some_date = self.request.GET.get('date')
qs = User.objects.all()
if date:
#filter depends of what exactly do you want
return qs.filter(date_joined__contains=some_date)
return qs