Пример #1
0
class todoGroupSimpleSerializer(serializers.ModelSerializer):
    todoGroup_id = serializers.CharField(source="id", read_only=True)
    subject_id = serializers.UUIDField(read_only=True)
    time = serializers.IntegerField(read_only=True)
    progress = serializers.CharField(read_only=True)
    leader = userSimpleInfoSerializer(read_only=True)
    members = userSimpleInfoSerializer(many=True, read_only=True)

    def __init__(self, subject, writer, *args, **kwargs):
        super(todoGroupSimpleSerializer, self).__init__(*args, **kwargs)
        self.subject = subject
        self.writer = writer

    class Meta:
        model = TodoGroup
        fields = (
            "todoGroup_id",
            "subject_id",
            "time",
            "title",
            "progress",
            "leader",
            "members",
        )

    def create(self, validated_data):
        todoGroup = TodoGroup.objects.create(
            title=validated_data["title"],
            time=self.subject.time,
            subject_id=self.subject,
            leader=self.subject.writer,  # subject를 만든사람 즉, 그룹장
        )
        todoGroup.members.add(self.writer)
        todoGroup.save()
        return todoGroup
Пример #2
0
class SubjectBaseSerializer(serializers.ModelSerializer):

    group_id = serializers.UUIDField(read_only=True)
    time = serializers.IntegerField(read_only=True)
    writer = userSimpleInfoSerializer(read_only=True)

    def __init__(self, group, leader, *args, **kwargs):
        super(SubjectBaseSerializer, self).__init__(*args, **kwargs)
        self.group = group
        self.leader = leader

    class Meta:
        model = Subject
        fields = (
            "group_id",
            "time",
            "title",
            "description",
            "writer",
        )

    def create(self, validated_data):

        subject = Subject.objects.create(
            title=validated_data["title"],
            description=validated_data["description"],
            time=self.group.time,
            group_id=self.group,
            writer=self.leader,
        )
        return subject
class myGroupInfoSerializer(serializers.ModelSerializer):
    subjectList = SubjectSimpleSerializer(source="group", many=True)
    members = userSimpleInfoSerializer(many=True)
    attends = userSimpleInfoSerializer(many=True)

    class Meta:
        model = Group
        fields = (
            "id",
            "title",
            "category",
            "description",
            "subjectList",
            "members",
            "attends",
        )
Пример #4
0
class TodoGroupSimpleSerializer(serializers.ModelSerializer):
    todoGroup_id = serializers.CharField(source="id")
    todoList = todoAllSerializer(source="todo_group", many=True)
    leader = userSimpleInfoSerializer()
    members = userSimpleInfoSerializer(many=True)
    start = serializers.DateTimeField(format="%Y-%m-%d", read_only=True)
    end = serializers.DateTimeField(format="%Y-%m-%d", read_only=True)

    class Meta:
        model = TodoGroup
        fields = (
            "todoGroup_id",
            "subject_id",
            "title",
            "progress",
            "time",
            "leader",
            "members",
            "todoList",
            "start",
            "end",
        )
Пример #5
0
class SubjectSimpleSerializer(serializers.ModelSerializer):
    todoGroups = TodoGroupSimpleSerializer(source="subject", many=True)
    subject_id = serializers.CharField(source="id")
    writer = userSimpleInfoSerializer()
    isTodo = serializers.BooleanField(default=False, read_only=True)

    class Meta:
        model = Subject
        fields = (
            "subject_id",
            "time",
            "title",
            "writer",
            "description",
            "todoGroups",
            "isTodo",
        )
Пример #6
0
class todoAllSerializer(serializers.ModelSerializer):
    todo_id = serializers.CharField(source="id")
    writer = userSimpleInfoSerializer()
    start = serializers.DateTimeField(format="%Y-%m-%d", read_only=True)
    end = serializers.DateTimeField(format="%Y-%m-%d", read_only=True)

    class Meta:
        model = Todo
        fields = (
            "todo_id",
            "todoGroup_id",
            "time",
            "writer",
            "progress",
            "created",
            "start",
            "end",
        )
Пример #7
0
class groupSubjectsSerializer(serializers.ModelSerializer):
    writer = userSimpleInfoSerializer()

    class Meta:
        model = Subject
        fields = ("id", "time", "title", "writer")