Code: Alles auswählen
class Lerngruppe(models.Model):
lehrer = models.ForeignKey(User, null=True, on_delete=models.CASCADE, related_name='gruppe')
name = models.CharField(max_length=15)
class Meta:
verbose_name_plural = 'Lerngruppen'
unique_together = ['lehrer', 'name']
def __str__(self):
return f"{self.name}, {self.lehrer}"
Code: Alles auswählen
class Profil(models.Model):
user = models.OneToOneField(User, related_name='profil', on_delete=models.CASCADE )
nachname = models.CharField(max_length=30)
vorname = models.CharField(max_length=30)
klasse = models.CharField(max_length=10)
# diese Felder werden erst ausgefüllt, wenn ein Schüler seine Lerngruppe wählt
schule = models.ForeignKey(Schule, null= True, blank=True, on_delete = models.SET_NULL)
gruppe = models.ForeignKey(Lerngruppe, null= True, blank=True, on_delete = models.SET_NULL, related_name='gruppe'
jg = models.PositiveSmallIntegerField(validators=[MinValueValidator(1), MaxValueValidator(10)])
kurs= models.CharField(max_length=1, choices=wahl_kurs.choices, default=wahl_kurs.E_KURS,)
# werden beim Erstellen eingestellt
stufe = models.PositiveSmallIntegerField(default=5) #, editable=False)
sj = models.SmallIntegerField(default=0)
hj = models.SmallIntegerField(default=0)
katmax = models.IntegerField(default=0) # die Zeilennummer die höchsten gewählten Aufgabenkategorie
#voreinst = models.IntegerField(default=1) # hier können Voreinstellungen gesetzt und abgefragt werden
voreinst = models.JSONField(blank=True, null=True, default=dict)
#richtig = models.JSONField() # hier werden die Anzahl der richtigen Aufgaben je Kategorie für die Lehrerübersicht gespeichert
#quote = models.JSONField() # und hier die entsprechenden Fehlerquoten
def __str__(self):
return f"{self.vorname} {self.nachname}, {self.klasse}"
class Meta:
verbose_name = 'Profil'
verbose_name_plural = 'Profile'
Code: Alles auswählen
from django.contrib import admin
from .models import Ort, Schule, Profil, Lerngruppe
class LerngruppeAdmin(admin.ModelAdmin):
list_filter=("lehrer", )
admin.site.register(Profil)
admin.site.register(Lerngruppe, LerngruppeAdmin)