How to dynamically remove fields from serializer output
You can customize the serialization behavior by overriding the to_representation() method in your serializer. class DynamicSerliazer(serializers.ModelSerializer): def to_representation(self, obj): # get the original representation ret = super(DynamicSerializer, self).to_representation(obj) # remove ‘url’ field if mobile request if is_mobile_platform(self.context.get(‘request’, None)): ret.pop(‘url’) # here write the logic to check whether `elements` field is to be removed # pop … Read more