from django.contrib.auth.models import User from rest_framework import serializers from .models import UserProfile class UserSerializer(serializers.ModelSerializer): role = serializers.SerializerMethodField() class Meta: model = User fields = ( "id", "username", "email", "first_name", "last_name", "role", ) def get_role(self, obj): try: return obj.profile.user_type except UserProfile.DoesNotExist: return "administrator" if obj.is_staff else "user"