增加小组管理功能
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
# coding=utf-8
|
||||
from rest_framework import serializers
|
||||
|
||||
from account.models import User
|
||||
from account.serializers import UserSerializer
|
||||
from .models import Group, UserGroupRelation
|
||||
from .models import Group, UserGroupRelation, JoinGroupRequest
|
||||
|
||||
|
||||
class CreateGroupSerializer(serializers.Serializer):
|
||||
@@ -18,25 +19,58 @@ class EditGroupSerializer(serializers.Serializer):
|
||||
join_group_setting = serializers.IntegerField()
|
||||
|
||||
|
||||
class JoinGroupRequestSerializer(serializers.Serializer):
|
||||
class CreateJoinGroupRequestSerializer(serializers.Serializer):
|
||||
group_id = serializers.IntegerField()
|
||||
message = serializers.CharField(max_length=30)
|
||||
|
||||
|
||||
class JoinGroupRequestSerializer(serializers.ModelSerializer):
|
||||
class GroupSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Group
|
||||
fields = ["id", "name"]
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["username"]
|
||||
|
||||
group = GroupSerializer()
|
||||
user = UserSerializer()
|
||||
|
||||
class Meta:
|
||||
model = JoinGroupRequest
|
||||
|
||||
|
||||
class GroupSerializer(serializers.ModelSerializer):
|
||||
members_number = serializers.SerializerMethodField("_get_group_members_number")
|
||||
|
||||
def _get_group_members_number(self, group):
|
||||
return group.members.all().count()
|
||||
|
||||
class Meta:
|
||||
model = Group
|
||||
exclude = ["members"]
|
||||
|
||||
|
||||
class GroupMemberSerializer(serializers.ModelSerializer):
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["id", "username", "real_name"]
|
||||
|
||||
user = UserSerializer()
|
||||
|
||||
class Meta:
|
||||
model = UserGroupRelation
|
||||
exclude = ["id", "group"]
|
||||
exclude = ["id"]
|
||||
|
||||
|
||||
class EditGroupMemberSerializer(serializers.Serializer):
|
||||
group_id = serializers.IntegerField()
|
||||
members = serializers.ListField(child=serializers.IntegerField())
|
||||
members = serializers.ListField(child=serializers.IntegerField())
|
||||
|
||||
|
||||
class PutJoinGroupRequestSerializer(serializers.Serializer):
|
||||
request_id = serializers.IntegerField()
|
||||
status = serializers.BooleanField()
|
||||
Reference in New Issue
Block a user