Files
chengshishouce/backend/apps/users/serializers.py

38 lines
1.1 KiB
Python
Raw Normal View History

from rest_framework import serializers
from .models import User
class UserSerializer(serializers.ModelSerializer):
"""Serializer for User model (basic info)."""
class Meta:
model = User
fields = ('id', 'username', 'email', 'first_name', 'last_name', 'avatar', 'role', 'status')
read_only_fields = ('id', 'role', 'status')
class UserDetailSerializer(serializers.ModelSerializer):
"""Detailed serializer for User model."""
class Meta:
model = User
fields = '__all__'
read_only_fields = ('id', 'date_joined', 'last_login')
class UserUpdateSerializer(serializers.ModelSerializer):
"""Serializer for updating user profile."""
class Meta:
model = User
fields = ('first_name', 'last_name', 'avatar')
class UserStatsSerializer(serializers.Serializer):
"""Serializer for user statistics."""
articles_count = serializers.IntegerField()
services_count = serializers.IntegerField()
comments_count = serializers.IntegerField()
likes_count = serializers.IntegerField()
favorites_count = serializers.IntegerField()
ratings_count = serializers.IntegerField()