Я разрабатываю API с платформой Django Rest и хочу динамически удалять поля из сериализатора. Проблема в том, что мне нужно удалить их в зависимости от значения другого поля. Как я мог это сделать? У меня есть сериализатор вроде:
class DynamicSerliazer(serializers.ModelSerializer):
type = serializers.SerializerMethodField()
url = serializers.SerializerMethodField()
title = serializers.SerializerMethodField()
elements = serializers.SerializerMethodField()
def __init__(self, *args, **kwargs):
super(DynamicSerliazer, self).__init__(*args, **kwargs)
if self.fields and is_mobile_platform(self.context.get('request', None)) and "url" in self.fields:
self.fields.pop("url")
Как вы можете видеть, я уже удаляю поле "url" в зависимости от того, был ли запрос выполнен с мобильной платформы. Но я хотел бы удалить поле "elements" в зависимости от значения "type". Как мне это сделать?
Заранее спасибо