{“详细信息”:“未找到。” }

时间:2021-07-21 19:57:25

标签: django-rest-framework django-urls

观看次数

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'),

你好,我尝试用我的输入(日期)接收多个对象。但我明白了

enter image description here

1 个答案:

答案 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 有点奇怪,因为一毫秒会影响是否检索对象。通常对 __dateDateTimeField 进行过滤。

我还建议您将 Check 重命名为 CheckView,因为这样可以更清楚地表明这是一个视图,而不是一个模型。