在 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})