mirror of
https://github.com/lemeow125/StudE-Backend.git
synced 2025-06-28 16:25:44 +08:00
Auto subject adding/dropping when changing year level, semester, or course
This commit is contained in:
parent
db8fd8642f
commit
c10ef2d784
4 changed files with 35 additions and 3 deletions
|
@ -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']]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue