Files
website-v2/users/serializers.py

61 lines
1.3 KiB
Python

from rest_framework import serializers
from .models import User
class UserSerializer(serializers.ModelSerializer):
"""
Default serializer that doesn't expose too much possibly sensitive
information
"""
class Meta:
model = User
fields = (
"id",
"display_name",
)
read_only_fields = (
"id",
"display_name",
)
class CurrentUserSerializer(serializers.ModelSerializer):
"""
User serializer for the currently logged in user
"""
class Meta:
model = User
fields = (
"id",
"email",
"display_name",
"profile_image",
"date_joined",
"data",
)
read_only_fields = (
"id",
"email", # Users shouldn't change their email this way
"profile_image",
"date_joined",
)
class FullUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (
"id",
"email",
"display_name",
"is_staff",
"is_active",
"is_superuser",
"date_joined",
"data",
)
read_only_fields = ("id",)