Auto subject adding/dropping when changing year level, semester, or course

This commit is contained in:
Keannu Christian Bernasol 2023-07-18 17:56:23 +08:00
parent db8fd8642f
commit c10ef2d784
4 changed files with 35 additions and 3 deletions

View file

@ -9,7 +9,8 @@ class Subject(models.Model):
code = models.CharField(max_length=16)
courses = models.ManyToManyField(
'courses.Course', through='subjects.SubjectCourse', related_name='SubjectCourse_subject')
students = models.ManyToManyField('accounts.CustomUser', blank=True)
students = models.ManyToManyField(
'accounts.CustomUser', blank=True)
year_levels = models.ManyToManyField(
'year_levels.Year_Level', through='subjects.SubjectYearLevel', related_name='SubjectYearLevel_subject')
@ -29,6 +30,9 @@ class SubjectCourse(models.Model):
def __str__(self):
return f'Subject={self.subject.name}, Course={self.course.name}'
class Meta:
unique_together = [['subject', 'course']]
class SubjectYearLevel(models.Model):
subject = models.ForeignKey(
@ -39,6 +43,9 @@ class SubjectYearLevel(models.Model):
def __str__(self):
return f'Subject={self.subject.name}, Year Level={self.year_level.name}'
class Meta:
unique_together = [['subject', 'year_level']]
class SubjectSemester(models.Model):
subject = models.ForeignKey(
@ -48,3 +55,6 @@ class SubjectSemester(models.Model):
def __str__(self):
return f'Subject={self.subject.name}, Semester={self.semester.name}'
class Meta:
unique_together = [['subject', 'semester']]