"detail": "Ошибка разбора JSON - ожидается разделитель ',':

Я не знаю, что не так с json, пытаюсь передать пост запрос, но он выдает мне эту ошибку "

".
"detail": "JSON parse error - Expecting ',' delimiter: line 3 column 34 (char 36)"

'

Вот что я передал в качестве запроса на почту

{

"song" :{"artiste": ["first_name": "Kizz", "last_name": "Daniel", "age": 30],
             "title": "Buga",
             "likes": 3},

"content": "chilled music"
}

Моя модель:

class Song(models.Model):
    artiste = models.ForeignKey(Artiste, on_delete=models.CASCADE, null=True)
    title =models.CharField(max_length=100)
    date_released = models.DateTimeField(auto_now_add=True, null=True)
    likes = models.IntegerField()
    # artist_id = models.CharField(max_length=50, null=True)

    def __str__(self):
        return self.title

class Lyrics(models.Model):
    song = models.ForeignKey(Song, on_delete=models.CASCADE)
    content = models.TextField()
     
Сериализатор

rest_framework:

class LyricsSerializers(serializers.ModelSerializer):
    song = SongSerializers(many=True)
    class Meta:
        model = Lyrics
        fields = ["song", "content"]

rest_framwork Api views:

class lyricsApiView(APIView):
    def get(self, request):
        lyrics = Lyrics.objects.all()   
        serializer = SongSerializers(lyrics, many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)

    def post(self, request):
        serializer = LyricsSerializers(data=request.data)
        if serializer.is_valid():
            artiste = serializer.validated_data.pop('artist')
            artiste_create = Artiste.objects.create(**artiste)
            song = serializer.validated_data.pop('song')
            song_create = Song.objects.create(**serializer.validated_data, artiste=artiste_create)
            lyrics_create = Lyrics.objects.create(**serializer.validated_data, song=song_create)
            return Response(serializer.validated_data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    

Массив не может напрямую иметь объект ключ:значение

правильный json:

{
    "song":{
        "artiste":[
            {
                "first_name":"Kizz",
                "last_name":"Daniel",
                "age":30
            }
        ],
        "title":"Buga",
        "likes":3
    },
    "content":"chilled music"
}
Вернуться на верх