Django Rest Framework对象是不可迭代的?

Chr*_*eek 8 python django

我已经序列化了我的一个有外键的模型.我明白了 'Parent' object is not iterable

models.py

class Parent(models.Model):
    # Parent data

class Child(models.Model):
    parent = ForeignKey(Parent)
Run Code Online (Sandbox Code Playgroud)

serializer.py

class ChildSerializers(serializers.ModelSerializer):
    parent = serializers.RelatedField(many=True)
    class Meta:
        model = ReportField
        fields = (
            'id',
            'parent'
        )
Run Code Online (Sandbox Code Playgroud)

api.py

class ChildList(APIView):
    def get(self, request, format=None):
        child = Child.objects.all()
        serialized_child = ChildSerializers(child, many=True)
        return Response(serialized_child.data)
Run Code Online (Sandbox Code Playgroud)

我猜我必须将父列表传递给子列表,但不确定最好的方法

尝试api.py

class ChildList(APIView):
    def get(self, request, format=None):
        child = Child.objects.all()
        parent = Parent.objects.all()
        serialized_child = ChildSerializers(child, many=True)
        serialized_parent = ChildSerializers(parent, many=True)
        return Response(serialized_child.data, serialized_parent.data)
Run Code Online (Sandbox Code Playgroud)

Pra*_*dav 21

为什么使用many = True.Parent只是一个字段,不需要使用显式序列化字段.摆脱这些很多=真

- 由mariodev发表评论.