GET请求后的Django休息框架AttributeError

时间:2021-05-26 11:50:05

标签: python django django-rest-framework

在 GET 请求期间,Django 给我这个错误:

Got AttributeError when attempting to get a value for field `name` on serializer `projectSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `ProjectTask` instance.
Original exception text was: 'ProjectTask' object has no attribute 'name'.

我对 django 和 rest_framework 还很陌生,代码如下:

models.py

class Project(models.Model):
    name = models.CharField(max_length=50)

class ProjectTask(models.Model):
    project = models.ForeignKey(Project,on_delete=models.CASCADE)
    description = models.CharField(max_length=200)
    status = models.IntegerField()

serializers.py

class projectTaskSerializer(serializers.ModelSerializer):
    class Meta:
        model = ProjectTask
        fields = ['description','status']

class projectSerializer(serializers.ModelSerializer):
    tasks = projectTaskSerializer(many=True)

    class Meta:
        model = Project
        fields = ['name','tasks'] 

views.py(我只是提到了 get 函数,该函数被调用以避免混淆问题

def get(self, request):
    
    projects = ProjectTask.objects.all()
    serialized_projects = projectSerializer(projects,many = True)
    return Response({'projects' : serialized_projects.data})

0 个答案:

没有答案