【问题标题】:Custom serializer with django 2使用 django 2 的自定义序列化程序
【发布时间】:2018-12-25 13:59:25
【问题描述】:

我想创建一个给定输入 JSON 对象选择某些属性的序列化程序。

有一个遗留系统发送一个对象,例如:

{
    "a": {
        "b": "test"
    }
}

我需要保留对象的某些属性。例如 a.b.我创建了以下序列化程序,但它不起作用:

class CustomSerializer(serializers.Serializer):
    b = serializers.CharField(source='a.b', required=True)

有谁知道失败的原因吗?

谢谢!

【问题讨论】:

    标签: django-rest-framework django-2.0 python-3.7


    【解决方案1】:

    您需要实现嵌套序列化程序。对于您的示例,您可以尝试这样的操作:

    class BSerializer(serializers.Serializer):
        b =  serializers.CharField()
    
    class ASerializer(serializers.Serializer):
        a = BSerializer()
    

    注意:这只是嵌套序列化程序的一个示例。您可能需要添加一些东西才能使其正常工作(添加 Meta、其他字段(如果需要)、在视图中使用等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 2015-01-13
      相关资源
      最近更新 更多