小编bum*_*mby的帖子

DRF - 序列化对象中的 OrderedDict

我在让 Django rest 框架正确序列化嵌套的 ModelSerializer 时遇到问题。嵌套的序列化程序成为父 JSON 对象内的 OrderedDict。

我已经尝试过 Meta.depth 值,但它似乎没有任何区别。

单独创建 FileTypeSerializer 将生成正确格式的 JSON 对象。

有什么建议?

序列化器:

class FileTypeSerializer(serializers.ModelSerializer):
    class Meta:
        model = FileType

class FileUploadSerializer(serializers.ModelSerializer):
    owner = serializers.SlugRelatedField(
        read_only=True,
        slug_field='id'
    )
    filetype = FileTypeSerializer()

    class Meta:
        model = FileUpload
        read_only_fields = ('created', 'datafile', 'owner', 'filetype')
        depth = 1
Run Code Online (Sandbox Code Playgroud)

工厂:

class FileTypeFactory(factory.DjangoModelFactory):
    class Meta:
        model = FileType

    id = fuzzy.FuzzyInteger(1, 9999)
    name = fuzzy.FuzzyText(length=50)
    description = fuzzy.FuzzyText(length=200)

class FileUploadFactory(factory.DjangoModelFactory):
    class Meta:
        model = FileUpload

    id = fuzzy.FuzzyInteger(1, 9999) …
Run Code Online (Sandbox Code Playgroud)

django serialization django-rest-framework

5
推荐指数
1
解决办法
1411
查看次数