from django.db import models from project.mixins import BaseModel, DeactivatedMixin from apps.content.models import ImageObject from apps.course.models import Comment class SchoolSchedule(models.Model): WEEKDAY_CHOICES = ( (1, 'понедельник'), (2, 'вторник'), (3, 'среда'), (4, 'четверг'), (5, 'пятница'), (6, 'суббота'), (7, 'воскресенье'), ) weekday = models.PositiveSmallIntegerField('День недели', choices=WEEKDAY_CHOICES, unique=True) title = models.CharField('Заголовок', default='', max_length=100, db_index=True) description = models.TextField('Описание') materials = models.TextField('Материалы') age = models.PositiveSmallIntegerField('Возраст', default=0) month_price = models.DecimalField('Цена', max_digits=8, decimal_places=2, default=0) day_discount = models.DecimalField('Скидка, в валюте', max_digits=8, decimal_places=2, default=0) start_at = models.TimeField('Начало урока', null=True) class Meta: ordering = ('weekday',) verbose_name = 'Расписание' verbose_name_plural = 'Расписания' def __str__(self): return dict(self.WEEKDAY_CHOICES).get(self.weekday, '') class SchoolScheduleImage(models.Model): schoolschedule = models.ForeignKey( SchoolSchedule, on_delete=models.CASCADE, verbose_name='День занятия', related_name='schoolschedule_images' ) img = models.ForeignKey( ImageObject, related_name='schoolschedule_images', verbose_name='Объект изображения', on_delete=models.CASCADE, null=True, blank=True, ) created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) class Meta: verbose_name = 'Изображение в галерее' verbose_name_plural = 'Изображения в галерее' ordering = ('-created_at',) class LiveLesson(BaseModel, DeactivatedMixin): title = models.CharField('Название урока', max_length=100) short_description = models.TextField('Краткое описание урока') stream = models.URLField('Ссылка на VIMEO', default='', blank=True) date = models.DateField(null=True, blank=True) cover = models.ForeignKey( ImageObject, related_name='livelesson_covers', verbose_name='Обложка урока школы', on_delete=models.CASCADE, null=True, blank=True, ) created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) def __str__(self): return self.title class Meta: verbose_name = 'Урок онлайн школы' verbose_name_plural = 'Уроки онлайн школы' ordering = ('title',)