# -*- coding: utf-8 -*- # Generated by Django 1.11.6 on 2018-01-11 14:34 from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models import django.db.models.deletion import uuid class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Course', fields=[ ('token', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='Токен')), ('slug', models.SlugField(editable=False, max_length=127, unique=True)), ('title', models.CharField(max_length=255, unique=True, verbose_name='Заголовок')), ('description', models.TextField(blank=True, verbose_name='Описание')), ('level', models.CharField(choices=[('B', 'Базовый'), ('A', 'Продвинутый'), ('E', 'Экспертный'), ('B+A', 'Базовый + Продвинутый')], default='B', max_length=3, verbose_name='Уровень')), ('direction', models.SmallIntegerField(choices=[(3, 'Бизнес'), (2, 'Веб-дизайн'), (1, 'Разработка'), (4, 'Рисование'), (5, 'Музыка')], verbose_name='Направление')), ('public', models.BooleanField(default=False, verbose_name='Опубликовать')), ('teachers', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, max_length=15, verbose_name='Ссылки на преподов'), default=[], size=None)), ('image', models.URLField(blank=True, max_length=255, verbose_name='Изображение')), ('big_image', models.URLField(blank=True, max_length=255, verbose_name='Большое изображение')), ('big_mobile_image', models.URLField(blank=True, help_text='Большая картинка для мобильной версии', max_length=255, verbose_name='Под мобилку')), ('hidden', models.BooleanField(default=False, verbose_name='Видно только оплатившим')), ], options={ 'verbose_name': 'Курс', 'verbose_name_plural': 'Курсы', }, ), migrations.CreateModel( name='Demand', fields=[ ('token', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='Токен')), ('name', models.CharField(max_length=31, unique=True, verbose_name='Название')), ('checker', models.CharField(choices=[('student', 'student'), ('teacher', 'teacher'), ('support', 'support')], default='teacher', max_length=15, verbose_name='Проверяющий')), ('min_balls', models.SmallIntegerField(default=50, verbose_name='Проходной бал')), ], options={ 'verbose_name': 'Требования', 'verbose_name_plural': 'Требования', }, ), migrations.CreateModel( name='Field', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.CharField(max_length=255, verbose_name='Надпись у поля')), ('type', models.CharField(choices=[('text', 'text'), ('char', 'char'), ('boolean', 'boolean'), ('file', 'file')], default='char', max_length=20)), ('multiple', models.BooleanField(default=False)), ('null', models.BooleanField(default=False)), ('answers', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=255), blank=True, null=True, size=None)), ('balls', models.SmallIntegerField(default=100, verbose_name='Вознаграждение')), ('match', models.CharField(blank=True, max_length=255, null=True, verbose_name='Если не нулевое значение, то при точном сопоставлении даёт положителбный ответ')), ('demand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Demand')), ], options={ 'verbose_name': 'Поле', 'verbose_name_plural': 'Поля', }, ), migrations.CreateModel( name='Lesson', fields=[ ('token', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='Токен')), ('title', models.CharField(max_length=255, verbose_name='Название')), ('description', models.TextField(blank=True, null=True, verbose_name='Описание')), ('video', models.TextField(blank=True, null=True, verbose_name='Код видео')), ('material_tokens', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, max_length=15, verbose_name='Материалы урока'), default=[], size=None)), ('free', models.BooleanField(default=False, verbose_name='Привилегии для узла не будут проверяться')), ('sort', models.SmallIntegerField(unique=True)), ], options={ 'verbose_name': 'Урок', 'verbose_name_plural': 'Уроки', 'ordering': ('sort',), }, ), migrations.CreateModel( name='LessonDemand', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort', models.SmallIntegerField(default=1)), ('demand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Demand')), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Lesson')), ], options={ 'verbose_name': 'Порядок требований', 'verbose_name_plural': 'Порядок требований', 'ordering': ('sort',), }, ), migrations.CreateModel( name='Topic', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=255, verbose_name='Название')), ('description', models.TextField(blank=True, null=True, verbose_name='Описание')), ('icon', models.ImageField(blank=True, null=True, upload_to='', verbose_name='Иконка темы')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='курс')), ], options={ 'verbose_name': 'Тема', 'verbose_name_plural': 'Темы', }, ), migrations.AddField( model_name='lesson', name='topic', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Topic', verbose_name='Тема'), ), migrations.AlterUniqueTogether( name='lessondemand', unique_together=set([('lesson', 'demand', 'sort')]), ), ]