我试图制作API,该API将向我返回经过身份验证的用户的“列表” ID列表,但我没有任何序列化器就这样做了。
我的观点:
class AuthUserFavoriteListingsView(APIView):
"""List of favorite user listings"""
permission_classes = (IsAuthenticated, )
def get(self, request):
listings = UserListingFavorite.objects.filter(user=request.user).values_list('listing_id', flat=True)
return Response({"listings": listings})
这是我的结果:
{
"listings": [
9,
11
]
}
有什么办法可以通过串行器获得相同的结果吗?
答案 0 :(得分:0)
您可以通过以下方式使用serializers
做同样的事情:
views.py
class AuthUserFavoriteListingsView(APIView):
"""List of favorite user listings"""
permission_classes = (IsAuthenticated)
def get(self, request):
listings = UserListingFavorite.objects.filter(user=request.user)
serializer = UserListingFavoriteSerializer(listings, many=True)
return Response({"listings": serializer.data})
serializers.py
class UserListingFavoriteSerializer(serializers.ModelSerializer):
class Meta:
model = UserListingFavorite
fields = '__all__'