skillbox/server/objectives/models.py

45 lines
1.5 KiB
Python

from django.contrib.auth import get_user_model
from django.db import models
# Create your models here.
from django_extensions.db.models import TitleDescriptionModel
from book.models import Module
class ObjectiveGroup(TitleDescriptionModel):
class Meta:
verbose_name = 'Lernziel Gruppe'
verbose_name_plural = 'Lernziel Gruppen'
module = models.ForeignKey(Module, blank=False, null=False, on_delete=models.CASCADE)
user = models.ForeignKey(get_user_model(), blank=True, null=True, on_delete=models.CASCADE)
# klass = models.ForeignKey(Klass, null=True, on_delete=models.CASCADE)
def __str__(self):
return 'ObjectiveGroup {}-{}-{}'.format(self.id, self.module, self.title)
class Objective(TitleDescriptionModel):
class Meta:
verbose_name = 'Lernziel'
verbose_name_plural = 'Lernziele'
# several competence entries are grouped in current focus
group = models.ForeignKey(ObjectiveGroup, blank=False, null=False, on_delete=models.CASCADE)
def __str__(self):
return 'Objective {}-{}'.format(self.id, self.title)
class ObjectiveProgressStatus(TitleDescriptionModel):
class Meta:
verbose_name = 'Lernzielstatus'
verbose_name_plural = 'Lernzielstatus'
objective = models.ForeignKey(Objective, blank=False, null=False, on_delete=models.CASCADE)
user = models.ForeignKey(get_user_model(), blank=True, null=True, on_delete=models.CASCADE)
def __str__(self):
return 'Lernzielstatus {}-{}'.format(self.objective, self.title)