我是Django Rest Framework的新手,当我想发布数据时,我收到此错误 KeyError at / api /'folder'。
这是我的代码:
在我的models.py
DNSInput.java
在我的serializers.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
在我的views.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
问题在于,当我想发布数据时,如:
{
“id”:4,
“title”:“Python”,
“description”:“学习python课程”,
“文件夹”:{
“id”:1,
“名字”:“课程”
}
}
我收到了这个错误
folder_data = validated_data.pop('folder')
KeyError:'文件夹'
我需要一些帮助