feat: 添加所有 Django apps 的 Serializers
- User Serializers(基础、详情、更新、统计) - Region Serializers(基础、详情、树形结构) - Moderation Serializers(版主申请、权限、支持、限制) - Article Serializers(基础、创建、更新、审核、列表) - FeaturedService Serializers(基础、创建、更新、审核、列表) - Interaction Serializers(评论、评分、点赞、收藏)
This commit is contained in:
@@ -3,12 +3,12 @@ from .models import User
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for User model."""
|
||||
"""Serializer for User model (basic info)."""
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('id', 'username', 'email', 'first_name', 'last_name', 'avatar')
|
||||
read_only_fields = ('id',)
|
||||
fields = ('id', 'username', 'email', 'first_name', 'last_name', 'avatar', 'role', 'status')
|
||||
read_only_fields = ('id', 'role', 'status')
|
||||
|
||||
|
||||
class UserDetailSerializer(serializers.ModelSerializer):
|
||||
@@ -17,4 +17,22 @@ class UserDetailSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = '__all__'
|
||||
read_only_fields = ('id', 'date_joined', 'last_login')
|
||||
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()
|
||||
Reference in New Issue
Block a user