Incluir o excluir dinámicamente los campos de la clase Serializer

En miUser modelo de perfil que he incluido unashow_email campo explícitamente. Entonces, para agregar esta característica a mi API, la clase UserSerializer se ve así:

class UserSerializer(serializers.ModelSerializer):
    email = serializers.SerializerMethodField('show_email')

    def show_email(self, user):
        return user.email if user.show_email else None

    class Meta:
        model = django.contrib.auth.get_user_model()
        fields = ("username", "first_name", "last_name", "email")

Pero no me gusta mucho. Creo que sería mucho más limpio si el campoemail sería completamente excluido de la salida del serializadorshow_email esFalse, en cambio mostrando eso feo"email": null cosa.

¿Cómo podría hacer eso?

Respuestas a la pregunta(3)

Su respuesta a la pregunta