from django.conf import settings from django.contrib.postgres.fields import ArrayField from django.db import models # Create your models here. class Progress(models.Model): teacher = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name="Преподователь по умолчанию", related_name='teacher_progress') user = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name='Студент') route = models.CharField(max_length=15, verbose_name='Токен прохождения', blank=True, null=True) course = models.CharField(max_length=127, verbose_name='Слаг курса') def __str__(self): return '%s' % (self.user.email,) class Meta: verbose_name = 'Прогресс пользователя' verbose_name_plural = 'Прогресс пользователя' unique_together = (("user", "route"),) class PivotProgressVertex(models.Model): VERTEX_STATUS = ( (2, 'Выполненно'), (1, 'Ожидание'), (0, 'Не выполненно'), ) teacher = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name="Преподователь",) progress = models.ForeignKey(to=Progress) vertex = models.CharField(max_length=15, blank=True, verbose_name='Ссылки на узлы') status = models.SmallIntegerField(choices=VERTEX_STATUS, default=0) comment = ArrayField(models.CharField(max_length=15, verbose_name='Ссылки на комменты', unique=True), default=[]) date = models.DateTimeField(verbose_name='Дата зачтения задания', blank=True, null=True)