Better inLine version with nested_admin
This commit is contained in:
@@ -1,13 +1,31 @@
|
||||
from django.db import models
|
||||
from django.contrib import admin
|
||||
from django.db.models.functions import Now, ExtractWeek
|
||||
from django.http import HttpRequest
|
||||
from django.db.models.functions import Now, ExtractWeek, ExtractYear
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
# Create your models here.
|
||||
class StudentAdmin(admin.ModelAdmin):
|
||||
list_display = ("name", "surname", "email")
|
||||
list_filter = []
|
||||
|
||||
class CourseTypes(models.TextChoices):
|
||||
PPL = "PPL", _("PPL")
|
||||
ATPL = "ATPL", _("ATPL")
|
||||
|
||||
class Course(models.Model):
|
||||
id = models.AutoField(
|
||||
primary_key=True
|
||||
)
|
||||
|
||||
ctype = models.CharField(
|
||||
null=False,
|
||||
choices=CourseTypes
|
||||
)
|
||||
|
||||
cnumber = models.PositiveSmallIntegerField(
|
||||
null=False,
|
||||
default=ExtractYear(Now())
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.ctype}-{self.cnumber}"
|
||||
|
||||
class Student(models.Model):
|
||||
id = models.AutoField(
|
||||
@@ -29,6 +47,20 @@ class Student(models.Model):
|
||||
max_length=32
|
||||
)
|
||||
|
||||
course = models.ForeignKey(
|
||||
Course,
|
||||
on_delete=models.DO_NOTHING,
|
||||
null=True
|
||||
)
|
||||
|
||||
active = models.BooleanField(
|
||||
null=False,
|
||||
default=True
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.surname} {self.name[0]}. - {self.course}"
|
||||
|
||||
class WeekPreference(models.Model):
|
||||
id = models.BigAutoField(
|
||||
primary_key=True
|
||||
@@ -48,6 +80,9 @@ class WeekPreference(models.Model):
|
||||
on_delete=models.DO_NOTHING
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.week} - {self.student.surname} {self.student.name[0]}."
|
||||
|
||||
class MissionType(models.TextChoices):
|
||||
OTHER = "OTHER", _("OTHER")
|
||||
PPL = "PPL", _("PPL")
|
||||
@@ -80,7 +115,8 @@ class MissionProfile(models.Model):
|
||||
|
||||
notes = models.TextField(
|
||||
max_length=140,
|
||||
null=True
|
||||
null=True,
|
||||
blank=True
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
@@ -144,7 +180,8 @@ class HourBuilding(models.Model):
|
||||
|
||||
notes = models.TextField(
|
||||
max_length=140,
|
||||
null=True
|
||||
null=True,
|
||||
blank=True
|
||||
)
|
||||
|
||||
class HourBuildingLeg(models.Model):
|
||||
@@ -180,6 +217,12 @@ class HourBuildingLeg(models.Model):
|
||||
default=False
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
if self.stop:
|
||||
return "Refuelling Stop"
|
||||
else:
|
||||
return f"Flight Leg: {self.departure} -> {self.destination}"
|
||||
|
||||
class Training(models.Model):
|
||||
id = models.BigAutoField(
|
||||
primary_key=True
|
||||
@@ -229,5 +272,9 @@ class Training(models.Model):
|
||||
|
||||
notes = models.TextField(
|
||||
max_length=140,
|
||||
null=True
|
||||
null=True,
|
||||
blank=True
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.mission}"
|
||||
|
||||
Reference in New Issue
Block a user