观看次数
class Check(generics.RetrieveAPIView):
queryset = Log.objects.all().order_by('-date_to_recived')
serializer_class = LogSerializer
permission_classes = [OwnerPermission]
def get_queryset(self):
date = self.kwargs.get('pk')
user = self.request.user
return Log.objects.filter(product__owner = user,date_to_recived=date)
网址
path('check/<str:pk>',Check.as_view(),name='check'),
你好,我尝试用我的输入(日期)接收多个对象。但我明白了
答案 0 :(得分:1)
您应该使用 ListAPIView
:
class CheckView(generics.ListAPIView):
queryset = Log.objects.all().order_by('-date_to_recived')
serializer_class = LogSerializer
permission_classes = [OwnerPermission]
def get_queryset(self):
return super().get_queryset().filter(
product__owner=self.request.user,
date_to_recived=self.kwargs['pk']
)
话虽如此,过滤 DateTimeField
有点奇怪,因为一毫秒会影响是否检索对象。通常对 __date
的 DateTimeField
进行过滤。
我还建议您将 Check
重命名为 CheckView
,因为这样可以更清楚地表明这是一个视图,而不是一个模型。