added repr and str to every models
This commit is contained in:
parent
61cf52872d
commit
366a5c5682
1 changed files with 67 additions and 5 deletions
|
@ -16,6 +16,9 @@ class User(AbstractUser):
|
||||||
|
|
||||||
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} username={self.username!r}>"
|
||||||
|
|
||||||
|
|
||||||
class Department(models.Model):
|
class Department(models.Model):
|
||||||
"""
|
"""
|
||||||
|
@ -33,6 +36,12 @@ class Department(models.Model):
|
||||||
teachers = models.ManyToManyField(to=get_user_model(), blank=True, related_name="teaching_departments")
|
teachers = models.ManyToManyField(to=get_user_model(), blank=True, related_name="teaching_departments")
|
||||||
students = models.ManyToManyField(to=get_user_model(), blank=True, related_name="studying_departments")
|
students = models.ManyToManyField(to=get_user_model(), blank=True, related_name="studying_departments")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} name={self.name!r}>"
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class StudentGroup(models.Model):
|
class StudentGroup(models.Model):
|
||||||
"""
|
"""
|
||||||
|
@ -49,6 +58,12 @@ class StudentGroup(models.Model):
|
||||||
|
|
||||||
students = models.ManyToManyField(to=get_user_model(), blank=True, related_name="student_groups")
|
students = models.ManyToManyField(to=get_user_model(), blank=True, related_name="student_groups")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} name={self.name!r}>"
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class TeachingUnit(models.Model):
|
class TeachingUnit(models.Model):
|
||||||
"""
|
"""
|
||||||
|
@ -69,6 +84,12 @@ class TeachingUnit(models.Model):
|
||||||
teachers = models.ManyToManyField(to=get_user_model(), blank=True, related_name="teaching_units")
|
teachers = models.ManyToManyField(to=get_user_model(), blank=True, related_name="teaching_units")
|
||||||
student_groups = models.ManyToManyField(to=StudentGroup, blank=True, related_name="studying_units")
|
student_groups = models.ManyToManyField(to=StudentGroup, blank=True, related_name="studying_units")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} name={self.name!r}>"
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class StudentCard(models.Model):
|
class StudentCard(models.Model):
|
||||||
"""
|
"""
|
||||||
|
@ -80,7 +101,10 @@ class StudentCard(models.Model):
|
||||||
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
||||||
uid: bytes = models.BinaryField(max_length=7)
|
uid: bytes = models.BinaryField(max_length=7)
|
||||||
|
|
||||||
owner = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="student_cards")
|
owner: User = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="student_cards")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} owner={self.owner.username!r}>"
|
||||||
|
|
||||||
|
|
||||||
class TeachingSession(models.Model):
|
class TeachingSession(models.Model):
|
||||||
|
@ -102,6 +126,12 @@ class TeachingSession(models.Model):
|
||||||
group = models.ForeignKey(to=StudentGroup, on_delete=models.CASCADE, related_name="teaching_sessions")
|
group = models.ForeignKey(to=StudentGroup, on_delete=models.CASCADE, related_name="teaching_sessions")
|
||||||
teacher = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="teaching_sessions")
|
teacher = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="teaching_sessions")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} unit={self.unit.name!r} start={self.start}>"
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"{self.unit.name} ({self.start})"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def end(self) -> datetime:
|
def end(self) -> datetime:
|
||||||
return self.start + self.duration
|
return self.start + self.duration
|
||||||
|
@ -117,8 +147,25 @@ class Attendance(models.Model):
|
||||||
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
||||||
date: datetime = models.DateTimeField()
|
date: datetime = models.DateTimeField()
|
||||||
|
|
||||||
student = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="attended_sessions")
|
student: User = models.ForeignKey(
|
||||||
session = models.ForeignKey(to=TeachingSession, on_delete=models.CASCADE, related_name="attendances")
|
to=get_user_model(),
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name="attended_sessions"
|
||||||
|
)
|
||||||
|
session: TeachingSession = models.ForeignKey(
|
||||||
|
to=TeachingSession,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name="attendances"
|
||||||
|
)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return (
|
||||||
|
f"<{self.__class__.__name__} "
|
||||||
|
f"id={str(self.id)[:8]} "
|
||||||
|
f"student={self.student.username} "
|
||||||
|
f"session={str(self.session.id)[:8]}"
|
||||||
|
f">"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Absence(models.Model):
|
class Absence(models.Model):
|
||||||
|
@ -131,8 +178,20 @@ class Absence(models.Model):
|
||||||
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
id: uuid.UUID = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False, max_length=36)
|
||||||
message: str = models.TextField()
|
message: str = models.TextField()
|
||||||
|
|
||||||
student = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="absented_sessions")
|
student: User = models.ForeignKey(to=get_user_model(), on_delete=models.CASCADE, related_name="absented_sessions")
|
||||||
session = models.ManyToManyField(to=TeachingSession, blank=True, related_name="absences")
|
session: TeachingSession = models.ManyToManyField(to=TeachingSession, blank=True, related_name="absences")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return (
|
||||||
|
f"<{self.__class__.__name__} "
|
||||||
|
f"id={str(self.id)[:8]} "
|
||||||
|
f"student={self.student.username} "
|
||||||
|
f"session={str(self.session.id)[:8]}"
|
||||||
|
f">"
|
||||||
|
)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"[{str(self.id)[:8]}] {self.student}"
|
||||||
|
|
||||||
|
|
||||||
class AbsenceAttachment(models.Model):
|
class AbsenceAttachment(models.Model):
|
||||||
|
@ -146,3 +205,6 @@ class AbsenceAttachment(models.Model):
|
||||||
content = models.FileField(upload_to="absence/attachment/")
|
content = models.FileField(upload_to="absence/attachment/")
|
||||||
|
|
||||||
absence = models.ForeignKey(to=Absence, on_delete=models.CASCADE, related_name="attachments")
|
absence = models.ForeignKey(to=Absence, on_delete=models.CASCADE, related_name="attachments")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<{self.__class__.__name__} id={str(self.id)[:8]} content={self.content!r}>"
|
||||||
|
|
Loading…
Reference in a new issue