REST API возвращает ребенка
Я студент и пытаюсь вернуть часть данных с помощью REST API. Однако, я просто не могу получить это так, как я хочу. Ниже вы можете увидеть часть того, что происходит сейчас.
"receipt": {
"id": 1,
"name": "First item",
},
{
"id": 2,
"name": "Second item",
},
Но я хочу, чтобы это было как в приведенном ниже коде, без "receipt": {
сначала.
{
"id": 1,
"name": "First item",
},
{
"id": 2,
"name": "Second item",
},
Я не могу понять, как это сделать... Я потратил 2 дня своей жизни, пытаясь получить это.
Ниже вы увидите мое представление и сериализатор.
class FavoritesSerializer(serializers.ModelSerializer):
class Meta:
model = Favorite
fields = ['receipt']
depth = 2
class FavoritesViewSet(viewsets.ModelViewSet):
queryset = Favorite.objects.all()
serializer_class = FavoritesSerializer
def getUser(self):
queryset = Favorite.objects.filter(user=self.request.user)
serializer = FavoritesSerializer(queryset, many=True)
return Response(serializer.data)
Если кто-то может мне помочь, я буду очень признателен.
Если вы возвращаете список объектов словаря в одном ответе, они должны быть в списке. Например, так:
[{
"id": 1,
"name": "First item",
},
{
"id": 2,
"name": "Second item",
}]
Вы можете сделать это, чтобы достичь этого,
class FavoritesViewSet(viewsets.ModelViewSet):
queryset = Favorite.objects.all()
serializer_class = FavoritesSerializer
def getUser(self):
queryset = Favorite.objects.filter(user=self.request.user)
serializer = FavoritesSerializer(queryset, many=True)
return Response(data=serializer.data['recipt'])