class Migration(migrations.Migration): dependencies = [ ('courses', '0003_lecturedetail'), ] operations = [ migrations.CreateModel( name='Quiz', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=1024)), ('description', models.TextField()), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_image_path)), ('course_detail', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.CourseDetail')), ], ), migrations.CreateModel( name='QuizDetail', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('question', models.CharField(max_length=1024)), ('choices', models.TextField()), ('answer', models.CharField(max_length=16)), ('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Quiz')), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0027_remove_course_step_detail'), ] operations = [ migrations.AlterModelOptions( name='step', options={}, ), migrations.RenameField( model_name='step', old_name='course', new_name='related_course', ), migrations.RenameField( model_name='step', old_name='description', new_name='related_title', ), migrations.RemoveField( model_name='step', name='contents', ), migrations.RemoveField( model_name='step', name='created_by', ), migrations.RemoveField( model_name='step', name='title', ), migrations.AddField( model_name='step', name='related_created_at', field=models.DateTimeField(auto_now=True), ), migrations.AddField( model_name='step', name='related_description', field=models.TextField(default=django.utils.timezone.now), preserve_default=False, ), migrations.AddField( model_name='step', name='related_image', field=models.ImageField(default='media/default.png', upload_to=courses.models.get_image_path), ), migrations.AddField( model_name='step', name='related_title_html', field=models.TextField(default=django.utils.timezone.now, editable=False), preserve_default=False, ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Courses', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('course_code', models.CharField(max_length=16)), ('curriculum', models.TextField()), ('ects', models.PositiveIntegerField()), ('full_time_semester', models.PositiveIntegerField()), ('part_time_semester', models.PositiveIntegerField()), ('optional', models.CharField(choices=[('YES', 'yes'), ('NO', 'no')], default=courses.models.OptionalChoices('no'), max_length=8)), ], ), ]
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')), ('title', models.CharField(max_length=120)), ('description', models.TextField()), ('image', models.ImageField( blank=True, null=True, upload_to=courses.models.upload_image_path)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0005_delete_resources_20190911_0815'), ] operations = [ migrations.CreateModel( name='Resource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('category', models.CharField(choices=[('IC', 'In Class'), ('LL', 'Language Learning'), ('FS', 'Further Study')], default=('IC', 'In Class'), max_length=2)), ('link_URL', models.URLField(blank=True)), ('link_text', models.CharField(blank=True, max_length=30)), ('description', models.TextField(blank=True, max_length=200)), ], options={ 'abstract': False, }, ), migrations.AlterField( model_name='worksheet', name='solution_release_datetime', field=models.DateTimeField(default=courses.models.Worksheet.default_release_date), ), migrations.CreateModel( name='CourseResource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('category', models.CharField(choices=[('IC', 'In Class'), ('LL', 'Language Learning'), ('FS', 'Further Study')], default=('IC', 'In Class'), max_length=2)), ('link_URL', models.URLField(blank=True)), ('link_text', models.CharField(blank=True, max_length=30)), ('description', models.TextField(blank=True, max_length=200)), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course')), ], options={ 'abstract': False, }, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0010_alter_homeworksubmission_homework'), ] operations = [ migrations.AlterField( model_name='homework', name='homework_description', field=models.TextField(max_length=200), ), migrations.AlterField( model_name='homeworksubmission', name='submission_description', field=models.TextField(max_length=200), ), migrations.AlterField( model_name='homeworksubmission', name='submission_file_upload', field=models.FileField( upload_to=courses.models.path_and_rename('/documents')), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('main', '0023_auto_20170731_1841'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='CbCourses', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=255)), ('content', models.TextField()), ('image', models.ImageField( default='courses_image.png', upload_to=courses.models.upload_courses_image)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('meta_data', django.contrib.postgres.fields.jsonb.JSONField()), ('is_visible', models.BooleanField(default=True)), ('category', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='category_courses', to='main.CbCategory')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_courses', to=settings.AUTH_USER_MODEL)), ], options={ 'db_table': 'cb_courses', }, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0004_page_is_raw'), ] operations = [ migrations.CreateModel( name='Person', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ], ), migrations.AddField( model_name='participant', name='photo', field=models.FileField(blank=True, upload_to=courses.models.get_photo_path), ), migrations.AddField( model_name='participant', name='person', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='participants', to='courses.Person'), ), migrations.AddField( model_name='teacher', name='person', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teachers', to='courses.Person'), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0001_initial'), ] operations = [ migrations.CreateModel( name='CourseDetail', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('subject', models.CharField(max_length=120)), ('description', models.TextField()), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_image_path)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('title', models.CharField(max_length=500)), ('description', models.TextField()), ('image', models.ImageField(upload_to=courses.models.get_image_dir)), ('price', models.DecimalField(decimal_places=2, max_digits=9)), ('enrollees', models.ManyToManyField(to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('content', models.TextField()), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.uploded_location)), ('publish', models.DateField()), ('timestamp', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('video', models.FileField(blank=True, null=True, upload_to=courses.models.uploded_location)), ('user', models.ForeignKey(blank=True, null=True, on_delete=True, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('orgs', '0001_initial'), ] operations = [ migrations.CreateModel( name='CourseInfo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('image', models.ImageField(max_length=200, upload_to='course/', verbose_name='课程封面')), ('name', models.CharField(max_length=20, verbose_name='课程名称')), ('study_time', models.IntegerField(default=0, verbose_name='学习时长')), ('study_num', models.IntegerField(default=0, verbose_name='学习人数')), ('level', models.CharField(choices=[('gj', '高级'), ('zj', '中级'), ('cj', '初级')], default='cj', max_length=20, verbose_name='课程难度')), ('love_num', models.IntegerField(default=0, verbose_name='收藏数')), ('click_num', models.IntegerField(default=0, verbose_name='点击数')), ('desc', models.CharField(max_length=200, verbose_name='简介')), ('detail', models.TextField(verbose_name='课程详情')), ('category', models.CharField(choices=[('qd', '前端开发'), ('hd', '后端开发')], max_length=20, verbose_name='课程类别')), ('course_notice', models.CharField(max_length=200, verbose_name='课程公告')), ('course_need', models.CharField(max_length=100, verbose_name='课程须知')), ('course_tell', models.CharField(max_length=100, verbose_name='老师教导')), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ('orginfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='orgs.OrgInfo', verbose_name='所属机构')), ('teacherinfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='orgs.TeacherInfo', verbose_name='所属讲师')), ], options={ 'verbose_name': '课程信息', 'verbose_name_plural': '课程信息', }, ), migrations.CreateModel( name='LessonInfo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='章节名称')), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ('courseInfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.CourseInfo', verbose_name='所属课程')), ], options={ 'verbose_name': '课程信息', 'verbose_name_plural': '课程信息', }, ), migrations.CreateModel( name='SourceInfo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='资源名称')), ('down_load', models.FileField(max_length=200, upload_to='source/', verbose_name='下载路径')), ('所属课程', models.FileField(upload_to='', verbose_name=courses.models.CourseInfo)), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ], options={ 'verbose_name': '资源信息', 'verbose_name_plural': '资源信息', }, ), migrations.CreateModel( name='VideoInfo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='视频名称')), ('study_time', models.IntegerField(default=0, verbose_name='视频时长')), ('url', models.URLField(default='http://www.atguigu.com', verbose_name='视频链接')), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ('lessoninfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.LessonInfo', verbose_name='所属章节')), ], options={ 'verbose_name': '视频信息', 'verbose_name_plural': '视频信息', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Contest', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateField()), ('title', models.TextField()), ('statements', models.FileField(blank=True, upload_to=courses.models.get_statements_file_path)), ('show_statements', models.BooleanField(default=False)), ('duration', models.IntegerField(default=0)), ('coefficient', models.FloatField(default=1.0)), ('is_olymp', models.BooleanField(default=False)), ('judge', models.CharField(choices=[('EJ', 'Ejudge'), ('CF', 'Codeforces'), ('IN', 'Informatics')], default='EJ', max_length=2)), ('contest_id', models.IntegerField()), ('external_group_id', models.TextField(blank=True)), ('other_link', models.TextField(blank=True)), ], ), migrations.CreateModel( name='ContestLink', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('file', models.FileField(blank=True, upload_to=courses.models.get_contest_file_path)), ('link', models.TextField(blank=True)), ('new_tab', models.BooleanField(default=False)), ('priority', models.IntegerField(default=0)), ('contest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Contest')), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField(unique=True)), ('title', models.TextField(blank=True)), ('subtitle', models.TextField(blank=True)), ('template', models.TextField(default='course.html')), ('ejudge_url', models.TextField(blank=True)), ('url', models.TextField(blank=True)), ('name_in_main', models.TextField(blank=True)), ], ), migrations.CreateModel( name='CourseLink', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('file', models.FileField(blank=True, upload_to=courses.models.get_course_file_path)), ('link', models.TextField(blank=True)), ('hidden', models.BooleanField(default=False)), ('new_tab', models.BooleanField(default=False)), ('priority', models.IntegerField(default=0)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Course')), ], ), migrations.CreateModel( name='Main', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.TextField(blank=True)), ('subtitle', models.TextField(blank=True)), ('courses', models.ManyToManyField(to='courses.Course')), ], ), migrations.CreateModel( name='MainLink', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('file', models.FileField(blank=True, upload_to=courses.models.get_main_file_path)), ('link', models.TextField(blank=True)), ('hidden', models.BooleanField(default=False)), ('new_tab', models.BooleanField(default=False)), ('priority', models.IntegerField(default=0)), ('main', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Main')), ], ), migrations.CreateModel( name='Page', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField(unique=True)), ('title', models.TextField(blank=True)), ('subtitle', models.TextField(blank=True)), ('content', models.TextField(blank=True)), ], ), migrations.CreateModel( name='Participant', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField(verbose_name='Surname and name')), ('ejudge_id', models.IntegerField(blank=True, null=True)), ('informatics_id', models.IntegerField(blank=True, null=True)), ('codeforces_handle', models.TextField(blank=True)), ('comment', models.TextField(blank=True)), ('email', models.TextField(blank=True)), ('telegram_id', models.TextField(blank=True)), ('vk_id', models.TextField(blank=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='courses.Course')), ], ), migrations.CreateModel( name='ParticipantsGroup', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ('short_name', models.TextField()), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='groups', to='courses.Course')), ], ), migrations.CreateModel( name='Standings', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.TextField()), ('olymp', models.BooleanField(default=False)), ('enable_marks', models.BooleanField(default=False)), ('js_for_contest_mark', models.TextField(blank=True)), ('js_for_total_mark', models.TextField(blank=True)), ('js', models.TextField(blank=True)), ('contests', models.ManyToManyField(related_name='standings', to='courses.Contest')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='standings', to='courses.Course')), ], options={ 'verbose_name_plural': 'Standings', }, ), migrations.CreateModel( name='Teacher', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ('description', models.TextField(blank=True)), ('photo', models.FileField(blank=True, upload_to=courses.models.get_photo_path)), ('vk_id', models.TextField(blank=True)), ('telegram_id', models.TextField(blank=True)), ], ), migrations.AddField( model_name='participant', name='group', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='courses.ParticipantsGroup'), ), migrations.AddField( model_name='course', name='teachers', field=models.ManyToManyField(blank=True, related_name='courses', to='courses.Teacher'), ), migrations.AddField( model_name='contest', name='course', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contests', to='courses.Course'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('orgnization', '0001_initial'), ] operations = [ migrations.CreateModel( name='Chapter', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('chapter_order', models.IntegerField(default=0, verbose_name='章节序号')), ('chapter_title', models.CharField(max_length=128, verbose_name='章节标题')), ('chapter_desc', models.CharField(max_length=1024, verbose_name='章节介绍')), ('add_time', models.DateField(default=datetime.datetime.now, verbose_name='添加时间')), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='课程名')), ('desc', models.CharField(max_length=300, verbose_name='课程描述')), ('detail', models.TextField(verbose_name='课程详情')), ('degree', models.CharField(choices=[('cj', '初级'), ('zj', '中级'), ('gj', '高级')], max_length=2, verbose_name='难度')), ('score', models.IntegerField(default=0, verbose_name='课程评分')), ('total_duration_study', models.IntegerField(default=0, verbose_name='学习时长(分钟)')), ('students_nums', models.IntegerField(default=0, verbose_name='学习人数')), ('fav_nums', models.IntegerField(default=0, verbose_name='收藏人数')), ('image', models.ImageField(upload_to='courses/%Y/%m', verbose_name='课程封面')), ('click_nums', models.IntegerField(default=0, verbose_name='点击数')), ('category', models.CharField(default='理论知识', max_length=20, verbose_name='课程类别')), ('tag', models.CharField(default='', max_length=10, verbose_name='课程标签')), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ('course_org', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='orgnization.CourseOrg', verbose_name='课程机构')), ('teacher', models.ManyToManyField(blank=True, null=True, to='orgnization.Teacher', verbose_name='授课教师')), ], options={ 'verbose_name': '课程', 'verbose_name_plural': '课程', }, ), migrations.CreateModel( name='CourseResource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='名称')), ('download', models.FileField(upload_to='course/resource/%Y/%m', verbose_name='资源文件')), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='课程')), ], 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')), ('lesson_order', models.IntegerField(default=0, verbose_name='小节序号')), ('lesson_name', models.CharField(max_length=128, verbose_name='小节标题')), ('lesson_time_duration', models.CharField(max_length=10, verbose_name='视频时长')), ('add_time', models.DateField(default=datetime.datetime.now, verbose_name='添加时间')), ('chapter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Chapter', verbose_name='小节')), ], options={ 'verbose_name': '章节', 'verbose_name_plural': '章节', }, ), migrations.CreateModel( name='Video', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='视频名')), ('video_source', models.FileField(upload_to=courses.models.Video.upload_to)), ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Lesson', verbose_name='章节')), ], options={ 'verbose_name': '视频', 'verbose_name_plural': '视频', }, ), migrations.AddField( model_name='chapter', name='course', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='章节'), ), ]
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')), ('name', models.CharField(max_length=50, verbose_name='\u8ab2\u7a0b\u540d')), ('desc', models.CharField(max_length=300, verbose_name='\u8ab2\u7a0b\u63cf\u8ff0')), ('detail', models.TextField(verbose_name='\u8ab2\u7a0b\u8a73\u60c5')), ('instructor', models.CharField(blank=True, max_length=50, null=True, verbose_name='\u6307\u5c0e\u8001\u5e2b')), ('image', models.ImageField(blank=True, default='img/course/default_course.jpg', null=True, upload_to=courses.models.get_image_path)), ('add_time', models.DateTimeField( default=datetime.datetime.now, verbose_name='\u6dfb\u52a0\u6642\u9593')), ], options={ 'verbose_name': '\u8ab2\u7a0b', 'verbose_name_plural': '\u8ab2\u7a0b', }, ), migrations.CreateModel( name='CourseHomework', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='\u6a19\u984c')), ('desc', models.CharField(blank=True, max_length=200, null=True, verbose_name='\u63cf\u8ff0')), ('detail', models.CharField(blank=True, max_length=500, null=True, verbose_name='\u5167\u5bb9')), ('uploadFile', models.FileField( blank=True, null=True, upload_to=courses.models.get_courseHw_image_path, verbose_name='\u7bc4\u4f8b\u6a94\u6848')), ('limit_time', models.DateTimeField( default=datetime.datetime(2017, 3, 31, 0, 37, 25, 707845), verbose_name='\u7e73\u4ea4\u6642\u9593')), ('add_time', models.DateTimeField( default=datetime.datetime.now, verbose_name='\u6dfb\u52a0\u6642\u9593')), ], options={ 'verbose_name': '\u8ab2\u7a0b\u4f5c\u696d', 'verbose_name_plural': '\u8ab2\u7a0b\u4f5c\u696d', }, ), migrations.CreateModel( name='CourseResource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='\u540d\u7a31')), ('detail', models.TextField(blank=True, null=True, verbose_name='\u6587\u4ef6\u63cf\u8ff0')), ('download', models.FileField( blank=True, null=True, upload_to=courses.models.get_courseResource_image_path, verbose_name='\u8cc7\u6e90\u6587\u4ef6')), ('add_time', models.DateTimeField( default=datetime.datetime.now, verbose_name='\u6dfb\u52a0\u6642\u9593')), ], options={ 'verbose_name': '\u8ab2\u7a0b\u8cc7\u6e90', 'verbose_name_plural': '\u8ab2\u7a0b\u8cc7\u6e90', }, ), migrations.CreateModel( name='Lesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='\u7ae0\u7bc0\u540d')), ('add_time', models.DateTimeField( default=datetime.datetime.now, verbose_name='\u6dfb\u52a0\u6642\u9593')), ], options={ 'verbose_name': '\u7ae0\u7bc0', 'verbose_name_plural': '\u7ae0\u7bc0', }, ), migrations.CreateModel( name='StudentHomework', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('add_time', models.DateTimeField( default=datetime.datetime.now, verbose_name='\u6dfb\u52a0\u6642\u9593')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='\u8ab2\u7a0b')), ('homework', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.CourseHomework', verbose_name='\u4f5c\u696d')), ], options={ 'verbose_name': '\u5b78\u751f\u4f5c\u696d\u4e0a\u50b3', 'verbose_name_plural': '\u5b78\u751f\u4f5c\u696d\u4e0a\u50b3', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('contenttypes', '0002_remove_content_type_name'), ] operations = [ migrations.CreateModel( name='Content', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('object_id', models.PositiveIntegerField()), ('order', courses.fields.OrderField(blank=True)), ('content_type', models.ForeignKey(limit_choices_to={'model__in': ('text', 'video', 'image', 'file')}, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ], options={ 'ordering': ['order'], }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), ('slug', models.SlugField(max_length=200, unique=True)), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_location)), ('overview', models.TextField()), ('created', models.DateTimeField(auto_now_add=True)), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='courses_created', to=settings.AUTH_USER_MODEL)), ('students', models.ManyToManyField(blank=True, related_name='courses_joined', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-created',), }, ), migrations.CreateModel( name='File', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('file', models.FileField(upload_to='files')), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='file_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Image', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('file', models.FileField(upload_to='images')), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='image_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Module', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), ('description', models.TextField(blank=True)), ('order', courses.fields.OrderField(blank=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='modules', to='courses.Course')), ], options={ 'ordering': ['order'], }, ), migrations.CreateModel( name='Subject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), ('slug', models.SlugField(max_length=200, unique=True)), ], options={ 'ordering': ('title',), }, ), migrations.CreateModel( name='Subscription', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('your_email', models.EmailField(blank=True, max_length=254)), ], ), migrations.CreateModel( name='Text', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('content', models.TextField()), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='text_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Video', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=250)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('url', models.URLField()), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='video_related', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.AddField( model_name='course', name='subject', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='courses', to='courses.Subject'), ), migrations.AddField( model_name='content', name='module', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contents', to='courses.Module'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('taggit', '0002_auto_20150616_2121'), ] operations = [ migrations.CreateModel( name='Alternative', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('description', models.TextField(max_length=500)), ('is_correct', models.BooleanField(default=False)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Category', 'verbose_name_plural': 'Categories', }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('description', models.TextField(max_length=300)), ('image', models.ImageField(blank=True, null=True, upload_to='images/courses')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='categories', to='courses.Category')), ], ), migrations.CreateModel( name='Document', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('uri', models.FileField(upload_to=courses.models.upload_to_dir)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='Enrollment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enrollments', to='courses.Course')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Exam', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='Instructor', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('contact', models.EmailField(max_length=100)), ('about', models.TextField(max_length=200)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='Question', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('statement', models.TextField(max_length=500)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('exam', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='questions', to='courses.Exam')), ], ), migrations.CreateModel( name='Unit', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('description', models.CharField(max_length=100)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='units', to='courses.Course')), ], ), migrations.CreateModel( name='Video', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('uri', models.URLField(max_length=2000)), ('created_at', models.DateField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('unit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='videos', to='courses.Unit')), ], ), migrations.AddField( model_name='exam', name='unit', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='exams', to='courses.Unit'), ), migrations.AddField( model_name='document', name='unit', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='courses.Unit'), ), migrations.AddField( model_name='course', name='instructor', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='instructors', to='courses.Instructor'), ), migrations.AddField( model_name='course', name='keywords', field=taggit.managers.TaggableManager( help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='keywords'), ), migrations.AddField( model_name='alternative', name='question', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='alternatives', to='courses.Question'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=300, verbose_name='Title')), ('slug', models.SlugField()), ('places', models.IntegerField(verbose_name='Places to course')), ('description', models.TextField(verbose_name='About the course')), ('price', models.IntegerField(verbose_name='Price')), ('is_active', models.BooleanField(verbose_name='Is course active?')), ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')), ], options={ 'ordering': ['-date_added'], 'verbose_name_plural': 'Courses', 'verbose_name': 'Course', }, ), migrations.CreateModel( name='CourseReview', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=50, verbose_name='First name')), ('last_name', models.CharField(max_length=60, verbose_name='Last name')), ('avatar', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Avatar')), ('link_to_fb', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to Facebook')), ('link_to_inst', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to Instagram')), ('link_to_linkedin', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to LinkedIn')), ('review', models.TextField(verbose_name='Review')), ('video', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Video review')), ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Course')), ], options={ 'ordering': ['-date_added'], 'verbose_name_plural': 'Courses reviews', 'verbose_name': 'Course review', }, ), migrations.CreateModel( name='CourseTypes', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('permission', models.CharField(choices=[('F_S', 'Fast start'), ('A_I', 'All-inclusive'), ('P', 'Premium')], default='F_S', max_length=50, verbose_name='Permission')), ('title', models.CharField(max_length=60, verbose_name='Title')), ('is_active', models.BooleanField(verbose_name='Is course type active?')), ('description', models.TextField(verbose_name='Description')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Course')), ], options={ 'verbose_name_plural': 'Course types', 'verbose_name': 'Course type', }, ), migrations.CreateModel( name='Discount', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, verbose_name='Title')), ('slug', models.SlugField()), ('percents', models.IntegerField(verbose_name='Percents')), ('from_date', models.DateField(verbose_name='From')), ('till_date', models.DateField(verbose_name='Till')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created at')), ('author', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Author')), ], options={ 'verbose_name_plural': 'Discounts', 'verbose_name': 'Discount', }, ), migrations.CreateModel( name='Student', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=50, verbose_name='First name')), ('last_name', models.CharField(max_length=60, verbose_name='Last name')), ('email', models.EmailField(max_length=100, unique=True, verbose_name='Email')), ('phone', models.CharField(max_length=20, unique=True, verbose_name='Phone')), ('skype', models.CharField(blank=True, max_length=40, null=True, unique=True, verbose_name='Skype')), ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')), ('courses', models.ManyToManyField(to='courses.Course', verbose_name='Courses')), ], options={ 'ordering': ['-date_added'], 'verbose_name_plural': 'Students', 'verbose_name': 'Student', }, ), migrations.CreateModel( name='Teacher', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=50, verbose_name='First name')), ('last_name', models.CharField(max_length=60, verbose_name='Last name')), ('email', models.EmailField(max_length=100, verbose_name='Email')), ('avatar', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Avatar')), ('age', models.DateField(verbose_name='Age')), ('description', models.TextField(blank=True, null=True, verbose_name='About teacher')), ], options={ 'verbose_name_plural': 'Teachers', 'verbose_name': 'Teacher', }, ), migrations.AddField( model_name='course', name='discount', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Discount', verbose_name='Discount'), ), migrations.AddField( model_name='course', name='teachers', field=models.ManyToManyField(to='courses.Teacher', verbose_name='Teachers'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Courses', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('deleted', models.DateTimeField(editable=False, null=True)), ('name', models.CharField(max_length=100, verbose_name='name')), ('slug', models.CharField(max_length=100, verbose_name='slug')), ('short_description', models.TextField(max_length=300, verbose_name='short description')), ('description', models.TextField(verbose_name='description')), ('course_fee', models.FloatField(verbose_name='course fee')), ('image', models.ImageField(upload_to=courses.models.course_image_path, verbose_name='image')), ('is_active', models.BooleanField(default=True, verbose_name='is active')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ], options={ 'verbose_name': 'course', 'verbose_name_plural': 'courses', }, ), migrations.CreateModel( name='Enrolled', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('payment_status', models.CharField(choices=[('unpaid', 'Unpaid'), ('partly', 'Part Payment'), ('paid', 'Fully Paid')], max_length=50)), ('date_enrolled', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ], ), migrations.CreateModel( name='Modules', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('deleted', models.DateTimeField(editable=False, null=True)), ('name', models.CharField(max_length=100, verbose_name='name')), ('description', models.TextField(verbose_name='description')), ('order', models.IntegerField(verbose_name='order')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='date created')), ], options={ 'verbose_name': 'module', 'verbose_name_plural': 'modules', }, ), migrations.CreateModel( name='UserModules', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('deleted', models.DateTimeField(editable=False, null=True)), ('date_activated', models.DateTimeField(auto_now_add=True, verbose_name='date activated')), ('expires', models.DateTimeField(verbose_name='date expires')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_modules', to='courses.Courses')), ('module', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Modules')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('categories', '0001_initial'), ('videos', '0001_initial'), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=150)), ('slug', models.SlugField(blank=True)), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.course_directory_path)), ('order', courses.fields.PositionField(default=-1)), ('description', models.TextField()), ('price', models.DecimalField(blank=True, decimal_places=2, help_text='Si existe un descuento especial agrega una cantidad al precio neto, de lo contrario deja este campo vacío y utiliza solo el precio de lista.', max_digits=6, null=True, verbose_name='Precio Neto')), ('list_price', models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True, verbose_name='Precio de lista o precio regular')), ('active', models.BooleanField(default=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='primary_category', to='categories.Category')), ('secondary', models.ManyToManyField(blank=True, related_name='secondary_category', to='categories.Category')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Lecture', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=120)), ('order', courses.fields.PositionField(default=-1)), ('slug', models.SlugField(blank=True)), ('free', models.BooleanField(default=False)), ('description', models.TextField(blank=True)), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Course')), ('video', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='videos.Video')), ], options={ 'ordering': ['order', 'title'], }, ), migrations.CreateModel( name='MyCourses', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('updated', models.DateTimeField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('courses', models.ManyToManyField(blank=True, related_name='owned', to='courses.Course')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'My courses', 'verbose_name_plural': 'My courses', }, ), migrations.AlterUniqueTogether( name='lecture', unique_together=set([('slug', 'course')]), ), ]
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')), ('name', models.CharField(max_length=100, verbose_name='название')), ('slug', models.SlugField(unique=True, verbose_name='ссылка')), ('description', models.TextField(verbose_name='описание')), ], options={ 'verbose_name': 'Курс', 'verbose_name_plural': 'Курсы', 'ordering': ['-id'], }, ), migrations.CreateModel( name='Lesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='название')), ('slug', models.SlugField(verbose_name='ссылка')), ('video', coursify.fields.VideoField( blank=True, upload_to=courses.models.lesson_video_upload_to, verbose_name='видео')), ('content', models.TextField(blank=True, verbose_name='контент')), ('order', models.PositiveIntegerField(default=0, verbose_name='порядок')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lessons', to='courses.Course', verbose_name='курс')), ], options={ 'verbose_name': 'Урок', 'verbose_name_plural': 'Уроки', 'ordering': ['order'], 'unique_together': {('course', 'slug')}, }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Course title')), ('description', models.TextField(blank=True, verbose_name='Course description')), ('price', models.PositiveIntegerField( verbose_name='Course full price')), ], bases=(courses.models.MetaMixin, models.Model), ), migrations.CreateModel( name='Lecturer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(blank=True, max_length=255, verbose_name='First name')), ('last_name', models.CharField(blank=True, max_length=255, verbose_name='Last name')), ('photo', models.ImageField(blank=True, upload_to='persons', verbose_name='Lecturers photo')), ('bio', models.TextField(blank=True, verbose_name='Lecturer bio')), ('user', models.OneToOneField( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='lecturer', to=settings.AUTH_USER_MODEL)), ], bases=(courses.models.MetaMixin, models.Model), ), migrations.CreateModel( name='Lesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Lesson title')), ('description', models.TextField(blank=True, verbose_name='Lesson description')), ('date', models.DateTimeField(blank=True, verbose_name='Lesson date')), ('homework', models.TextField(blank=True, verbose_name='Lesson homework')), ('course', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='lessons', to='courses.Course', verbose_name='Course')), ('lecturer', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='lections', to='courses.Lecturer', verbose_name='Lesson speaker')), ], bases=(courses.models.MetaMixin, models.Model), ), migrations.CreateModel( name='UserProperty', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('verified', models.BooleanField(default=False, verbose_name='Is verified')), ('avatar', models.ImageField(blank=True, null=True, upload_to='images/user/avatar', verbose_name='User avatar')), ('birthdate', models.DateField(blank=True, null=True, verbose_name='User birthdate')), ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name='user_property', to=settings.AUTH_USER_MODEL)), ], bases=(courses.models.MetaMixin, models.Model), ), migrations.CreateModel( name='Score', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('rate', models.PositiveIntegerField(choices=[(0, '0'), (1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], verbose_name='Score')), ('lecturer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='scores', to='courses.Lecturer', verbose_name='Lecturer')), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='scores', to='courses.Lesson')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='scores', to=settings.AUTH_USER_MODEL)), ], bases=(courses.models.MetaMixin, models.Model), ), migrations.AddField( model_name='course', name='lecturers', field=models.ManyToManyField(related_name='courses', to='courses.Lecturer', verbose_name='Course lecturers'), ), migrations.AddField( model_name='course', name='students', field=models.ManyToManyField(blank=True, related_name='courses', to=settings.AUTH_USER_MODEL, verbose_name='Course students'), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0023_battleship_public'), ] operations = [ migrations.CreateModel( name='FormBuilder', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField(unique=True)), ('title', models.TextField()), ('subtitle', models.TextField(blank=True)), ('send_mail', models.BooleanField(default=False)), ('mail_host', models.TextField(blank=True)), ('mail_port', models.TextField(blank=True)), ('mail_username', models.TextField(blank=True)), ('mail_password', models.TextField(blank=True)), ('mail_template', models.TextField(blank=True)), ('registerNameTemplate', models.TextField(blank=True)), ('registerApi', models.ManyToManyField(blank=True, related_name='forms', to='courses.EjudgeRegisterApi')), ], ), migrations.CreateModel( name='FormField', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField()), ('type', models.CharField(choices=[('ST', 'Small text field'), ('IN', 'Number'), ('ML', 'Mail address'), ('PH', 'Phone number'), ('LO', 'Large text field'), ('CB', 'Check box'), ('TX', 'Some text')], default='ST', max_length=2)), ('required', models.BooleanField(default=False)), ('internal_name', models.TextField()), ('description', models.TextField(blank=True)), ('form', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='fields', to='courses.formbuilder')), ], bases=(models.Model, courses.models.FormFieldType), ), migrations.CreateModel( name='FormEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('data', models.TextField()), ('form', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enteries', to='courses.formbuilder')), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0008_contest_contest_type'), ] operations = [ migrations.CreateModel( name='BlitzProblem', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('problem_id', models.TextField()), ('description', models.TextField(blank=True)), ('statements', models.FileField( upload_to=courses.models.get_blitz_statements_file_path)), ], ), migrations.RemoveField( model_name='contest', name='is_olymp', ), migrations.AddField( model_name='standings', name='contest_type', field=models.CharField(choices=[('AC', 'Acm'), ('OL', 'Olympiad'), ('BS', 'Battleship'), ('BT', 'Blitz')], default='AC', max_length=2), ), migrations.RunPython(change_olymp_to_type, revert_type_to_olymp), migrations.CreateModel( name='BlitzProblemStart', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('participant_id', models.IntegerField()), ('time', models.DateTimeField(auto_now_add=True)), ('bid', models.IntegerField(default=0)), ('problem', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='starts', to='courses.BlitzProblem')), ], ), migrations.AddField( model_name='blitzproblem', name='contest', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='blitz_problems', to='courses.Contest'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=256)), ('participants', models.ManyToManyField(to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Lecture', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('topic', models.CharField(max_length=256)), ('document', models.FileField(upload_to=courses.models.get_upload_path_doc)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.course')), ], ), migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('lecture', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.lecture')), ], ), migrations.CreateModel( name='Solution', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.task')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Mark', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('result', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(10)])), ('solution', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='courses.solution')), ], ), migrations.CreateModel( name='Comment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('mark', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.mark')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]