Improved Model Admin views, student adds user for login

This commit is contained in:
2025-11-11 22:18:39 +01:00
parent 637d109a91
commit ea33bef9cd
10 changed files with 363 additions and 115 deletions

View File

@@ -1,7 +1,9 @@
from django.db import models
from django.contrib import admin
from django.contrib.auth.models import User
from django.db.models.functions import Now, ExtractWeek, ExtractYear
from django.utils.translation import gettext_lazy as _
from datetime import timedelta, date
# Create your models here.
@@ -21,12 +23,12 @@ class Course(models.Model):
cnumber = models.PositiveSmallIntegerField(
null=False,
default=ExtractYear(Now())
default=date.today().year
)
year = models.PositiveSmallIntegerField(
editable=False,
db_default=ExtractYear(Now())
db_default=date.today().year
)
def __str__(self):
@@ -63,6 +65,13 @@ class Student(models.Model):
default=True
)
user = models.OneToOneField(
User,
on_delete=models.CASCADE,
null=True,
blank=True
)
def __str__(self):
return f"{self.surname} {self.name[0]}. => {self.course}"
@@ -74,7 +83,7 @@ class WeekPreference(models.Model):
week = models.PositiveSmallIntegerField(
null=False,
db_index=True,
default=ExtractWeek(Now()) + 1,
db_default=date.today().isocalendar().week,
auto_created=True,
verbose_name="Week Number"
)
@@ -119,7 +128,7 @@ class MissionProfile(models.Model):
duration = models.DurationField(
null=False,
default=1
default=timedelta(hours=1)
)
notes = models.TextField(
@@ -224,7 +233,7 @@ class HourBuildingLeg(models.Model):
time = models.DurationField(
null=False,
default=1
default = timedelta(hours=1)
)
stop = models.BooleanField(