You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

77 lines
2.9 KiB

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',)