Remove shedules field on students

This commit is contained in:
Keannu Christian Bernasol 2023-04-22 11:59:16 +08:00
parent c9c7d1f5ec
commit 98392344a1
8 changed files with 95 additions and 9 deletions

View file

@ -12,6 +12,13 @@ class Schedule(models.Model):
'professors.Professor', related_name='Professor_full_name', on_delete=models.CASCADE)
date_created = models.DateTimeField(default=now, editable=False)
@property
def name(self):
return f"{self.subject}"
def __str__(self):
return self.subject
class StudentSchedule(models.Model):
schedule = models.ForeignKey(

View file

@ -1,13 +1,31 @@
from rest_framework import serializers
from .models import Schedule
from professors.models import Professor
from students.models import Student
class ScheduleSerializer(serializers.HyperlinkedModelSerializer):
date_created = serializers.DateTimeField(
format="%d-%m-%Y %I:%M%p", read_only=True)
# students_assigned = serializers.SlugRelatedField(
# queryset=Student.objects.all(), slug_field='student_assigned', allow_null=True)
professor = serializers.SlugRelatedField(
queryset=Professor.objects.all(), slug_field='full_name', allow_null=True)
class Meta:
model = Schedule
fields = ('id', 'subject', 'students_assigned',
'professor', 'date_created')
read_only_fields = ('id', 'date_created')
class StudentScheduleSerializer(serializers.HyperlinkedModelSerializer):
date_joined = serializers.DateTimeField(
format="%d-%m-%Y %I:%M%p", read_only=True)
class Meta:
model = Schedule
fields = ('id', 'schedule', 'student_assigned', 'date_joined')
read_only_fields = ('id', 'date_joined')

View file

@ -3,11 +3,17 @@ from django.shortcuts import render
# Create your views here.
from rest_framework.permissions import IsAuthenticated
from rest_framework import viewsets
from .serializers import ScheduleSerializer
from .models import Schedule
from .serializers import ScheduleSerializer, StudentScheduleSerializer
from .models import Schedule, StudentSchedule
class ScheduleViewSet(viewsets.ModelViewSet):
# permission_classes = [IsAuthenticated]
serializer_class = ScheduleSerializer
queryset = Schedule.objects.all()
class StudentScheduleViewSet(viewsets.ModelViewSet):
# permission_classes = [IsAuthenticated]
serializer_class = StudentScheduleSerializer
queryset = StudentSchedule.objects.all()