如何在序列化程序中嵌入两个字段

时间:2014-11-18 16:38:21

标签: python django django-rest-framework

我的模型如下:

class MyModel:
    somefield = ...
    ...
    f_value = ...
    f_metric = ...

问题是:如何在序列化程序中嵌入这些字段:以便生成的序列化对象如下所示:

{
"somefield": ...,
...,
"f": {"value": ..., "metric": ...}
}

1 个答案:

答案 0 :(得分:2)

您可以使用嵌套的序列化程序来完成这项工作。

class FSerializer(serializers.Serializer):
    value = serializers.Field(source="f_value")
    metric = serializers.Field(source="f_metric")

class MyModelSerializer(serializers.ModelSerializer):
    somefield = serializers.Field()

    f = FSerializer(source="*")

这应该为您提供您正在寻找的嵌套输出。您可以在Django REST Framework文档中找到有关嵌套序列化器的更多信息。