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.
127 lines
7.7 KiB
127 lines
7.7 KiB
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.11.6 on 2018-01-11 10:47
|
|
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=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('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=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('token', models.UUIDField(default=uuid.uuid4, editable=False, unique=True, 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=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('token', models.CharField(editable=False, max_length=15, unique=True, 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')]),
|
|
),
|
|
]
|
|
|