Developer
🚀 初始部署到Hugging Face Spaces
35c63fd
"""
认证相关序列化器
"""
from rest_framework import serializers
from django.contrib.auth import get_user_model
from .models import UserConfig
User = get_user_model()
class UserSerializer(serializers.ModelSerializer):
"""用户序列化器"""
class Meta:
model = User
fields = ['id', 'username', 'group_id', 'created_at', 'last_login']
read_only_fields = ['id', 'created_at', 'last_login']
class UserConfigSerializer(serializers.ModelSerializer):
"""用户配置序列化器"""
class Meta:
model = UserConfig
fields = ['api_endpoint', 'created_at', 'updated_at']
read_only_fields = ['created_at', 'updated_at']
class UserRegistrationSerializer(serializers.ModelSerializer):
"""用户注册序列化器"""
class Meta:
model = User
fields = ['username', 'group_id', 'api_key']
extra_kwargs = {
'api_key': {'write_only': True}
}
def create(self, validated_data):
# 设置默认密码(由于Django要求,但我们不使用密码认证)
user = User.objects.create_user(
password='unused_password_123',
**validated_data
)
# 创建用户配置
UserConfig.objects.create(user=user)
return user