期望从视图返回 `Response`、`HttpResponse` 或 `HttpStreamingResponse`,但收到了 `<class 'NoneType'>`

mas*_*ing 8 python django django-views django-errors django-rest-framework

模型.py

class Wishlist(models.Model):
    home = models.ForeignKey(Home, on_delete=models.CASCADE, blank=False, null=False)
    user = models.ForeignKey(User, on_delete=models.CASCADE, blank=False, null=False)

    def __str__(self):
        return "{} - {}".format(self.user.username, self.home.address)

    class Meta:
        ordering = ('user',)
Run Code Online (Sandbox Code Playgroud)

网址.py

urlpatterns = [
    path(r'wishlist/<int:pk>/', views.WishlistGetUserItems.as_view(), name='wish-user-list'),
]
Run Code Online (Sandbox Code Playgroud)

视图.py

class WishlistGetUserItems(APIView):

    def get(self, request, pk):
        wishlist = get_list_or_404(Wishlist, user=pk)
        data = serializers.UserWishlistSerializer(wishlist).data
        Response(data, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)

我也试过打印消息,但似乎没有调用该方法

小智 7

您应该在响应之前添加返回。

def get(self, request, pk):
    wishlist = get_list_or_404(Wishlist, user=pk)
    data = serializers.UserWishlistSerializer(wishlist).data
    return Response(data, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)