Я новичок в Django Rest Framework и когда я хочу отправить данные POST, и я получаю эту ошибку KeyError в / api / 'folder' .
Вот мой код:
в моемmodels.py
class Folder(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
class Todo(models.Model):
title = models.CharField(max_length=200)
description = models.TextField()
folder = models.ForeignKey('Folder', related_name='todos', on_delete=models.CASCADE)
def __str__(self):
return self.title
в моем serializers.py
class FolderSerializer(serializers.ModelSerializer):
class Meta:
fields = ('id','name',)
model = models.Folder
extra_kwargs = {
"id":{
"required":False,
"read_only":False
}
}
class TodoSerializer(serializers.ModelSerializer):
folder = FolderSerializer(read_only=True, required=False)
class Meta:
fields = ('id','title','description','folder',)
model = models.Todo
def create(self, validated_data):
# Get our folder
folder_data = validated_data.pop('folder')
# Create our todo
todo = models.Todo.objects.create(**validated_data)
for data in folder_data:
models.Folder.objects.create(todo=todo, **data)
return todo
И в моем views.py
class ListTodo(generics.ListCreateAPIView):
queryset = models.Todo.objects.all()
serializer_class = serializers.TodoSerializer
Проблема в том, что когда я хочу опубликоватьданные, такие как:
{"id": 4, "title": "Python", "description": "Изучите урок python", "folder": {"id": 1, "name": "Lesson"}}
Я получил эту ошибку folder_data = validated_data.pop ('folder') KeyError: 'folder'
Мне нужна помощь, пожалуйста