KeyError + POST + Django Rest Framework

时间:2018-05-22 20:38:50

标签: python-3.x django-rest-framework

我是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:'文件夹'
我需要一些帮助

0 个答案:

没有答案