如何序列化模型实例列表?

问题描述 投票:0回答:1

我有一个词素列表。我需要对其进行序列化(例如here):

lexemes = [Lexeme('a', 'b', 'c'), Lexeme('d', 'e', 'f')]
serializer = LexemeSerializer(data=lexemes, many=True)
if serializer.is_valid():
    return Response(serializer.validated_data)
else:
    return Response(
        serializer.errors,
        status=status.HTTP_400_BAD_REQUEST
    )

我的回复是

[{“ non_field_errors”:[“无效的数据。需要一个字典,但是得到了Lexeme。”]},{“ non_field_errors”:[“无效的数据。需要了一个字典,但是得到了Lexeme。]]]]

class Lexeme(models.Model):
    lemma = models.CharField(max_length=30)
    part_of_speech = models.CharField(max_length=30)
    endings = models.CharField(max_length=30)

class LexemeSerializer(serializers.ModelSerializer):
    class Meta:
        model = Lexeme
        fields = '__all__'

我的代码与我使用模型序列化程序的引用问题的代码之间的区别。是错误的原因吗?我该如何解决?

django-rest-framework django-serializer
1个回答
0
投票

我不确定ModelSerializer是否接受带有many=True选项的实例列表。

作为dataserializer = LexemeSerializer(data=lexemes, many=True)参数,您需要传递queryset

© www.soinside.com 2019 - 2024. All rights reserved.