from rest_framework import serializers class LoginSerializer(serializers.Serializer): username = serializers.CharField() password = serializers.CharField(write_only=True) class UserInfoSerializer(serializers.Serializer): id = serializers.IntegerField() username = serializers.CharField() is_superuser = serializers.BooleanField() is_active = serializers.BooleanField() date_joined = serializers.DateTimeField() last_login = serializers.DateTimeField() role = serializers.SerializerMethodField() def get_role(self, obj): return 'admin' class ChangePasswordSerializer(serializers.Serializer): old_password = serializers.CharField(write_only=True) new_password = serializers.CharField(write_only=True, min_length=6) class AdminUserCreateSerializer(serializers.Serializer): username = serializers.CharField(max_length=150) password = serializers.CharField(write_only=True, min_length=6) is_superuser = serializers.BooleanField(default=False)