StudE-Backend/stude/subjects/models.py

39 lines
1.1 KiB
Python
Raw Permalink Normal View History

2023-06-27 18:15:31 +08:00
from django.db import models
from year_levels.models import Year_Level
from semesters.models import Semester
# Create your models here.
class Subject(models.Model):
name = models.CharField(max_length=64)
code = models.CharField(max_length=16)
courses = models.ManyToManyField(
'courses.Course', through='courses.SubjectCourse', related_name='SubjectCourse_subject')
students = models.ManyToManyField(
'accounts.CustomUser', through='subjects.SubjectStudent', related_name='SubjectStudent_subject')
2023-06-27 18:15:31 +08:00
year_level = models.ForeignKey(
Year_Level,
on_delete=models.SET_NULL,
null=True,
related_name='Year_Level_name'
)
semester = models.ForeignKey(
Semester,
on_delete=models.SET_NULL,
null=True
)
def __str__(self):
return self.name
class SubjectStudent(models.Model):
user = models.ForeignKey(
'accounts.CustomUser', on_delete=models.CASCADE)
subject = models.ForeignKey(
'subjects.Subject', on_delete=models.CASCADE)
def __str__(self):
return f'User: User={self.user_id}, Subject={self.subject_name}'