Django rest framework 使用django 2的自定义序列化程序

Django rest framework 使用django 2的自定义序列化程序,django-rest-framework,django-2.0,python-3.7,Django Rest Framework,Django 2.0,Python 3.7,我想创建一个序列化程序,在给定输入JSON对象的情况下选择某些属性 有一个发送对象的遗留系统,例如: { "a": { "b": "test" } } 我需要保留对象的某些属性。例如,a.b.我创建了以下序列化程序,但它不工作: class CustomSerializer(serializers.Serializer): b = serializers.CharField(source='a.b', required=True) 有人知道失败的是什么

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

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

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

class CustomSerializer(serializers.Serializer):
    b = serializers.CharField(source='a.b', required=True)
有人知道失败的是什么吗


谢谢

您需要实现嵌套序列化程序。例如,您可以尝试以下方法:

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

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