mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-16 02:10:19 -04:00
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from django.contrib.auth.models import User, Group
|
|
from .models import Student, Teacher, Classes, Assignment
|
|
from rest_framework import serializers
|
|
|
|
class AssignmentSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = Assignment
|
|
fields = ['name', 'due_date', 'url']
|
|
|
|
class StudentSerializer(serializers.HyperlinkedModelSerializer):
|
|
assignments = AssignmentSerializer(many=True, read_only=True)
|
|
class Meta:
|
|
model = Student
|
|
fields = ['url', 'first_name', 'last_name', 'assignments']
|
|
|
|
class ClassesSerializer(serializers.HyperlinkedModelSerializer):
|
|
assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True)
|
|
students = StudentSerializer(many=True, read_only=True, allow_null=True)
|
|
class Meta:
|
|
model = Classes
|
|
fields = ['url', 'name', 'students', 'assignments']
|
|
|
|
def create(self, validated_data):
|
|
return Classes.objects.create(**validated_data)
|
|
|
|
|
|
class TeacherSerializer(serializers.ModelSerializer):
|
|
classes = ClassesSerializer(many=True, read_only=True)
|
|
class Meta:
|
|
model = Teacher
|
|
fields = ['url', 'first_name', 'last_name', 'classes']
|
|
|