简体   繁体   中英

Exclude a field from django rest framework serializer

In the following serializer, I have a nested serializer [ ContainerSerializer ] field and I want to exclude a field from (container) ContainerSerializer but I don't want any change in ContainerSerializer . How can I do that?

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

Create another serializer say BLContainerSerializer and exclude fields there. Then use this in your BLcontainerMergedSerializer . Hope this helps.

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


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

There is a fields meta property:

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

Reference: Django REST docs

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM