从django rest框架序列化器中排除一个字段

时间:2016-07-14 06:05:36

标签: django django-rest-framework

在下面的序列化程序中,我有一个嵌套的序列化器[ContainerSerializer]字段,我想从(容器)ContainerSerializer中排除一个字段,但我不希望{{{}}中的任何更改1}}。我怎么能这样做?

ContainerSerializer

2 个答案:

答案 0 :(得分:17)

创建另一个序列化程序,说BLContainerSerializer并在那里排除字段。然后在BLcontainerMergedSerializer中使用此功能。希望这会有所帮助。

class BLContainerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Container
        exclude = ('field1', )


class BLcontainerMergedSerializer(serializers.ModelSerializer):
    container = BLContainerSerializer()
    class Meta:
        model = BLcontainer

答案 1 :(得分:4)

有一个字段元属性:

class BLcontainerMergedSerializer(serializers.ModelSerializer):
    container = ContainerSerializer()
    class Meta:
        model = BLcontainer
        fields = ('field1', 'field2')

参考:Django REST docs