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', '0009_auto_20200514_0951'), ] operations = [ migrations.AlterField( model_name='course', name='thumbnail', field=models.ImageField(blank=True, null=True, upload_to=courses.models.course_upload_location), ), migrations.AlterField( model_name='video', name='video_file', field=models.FileField(null=True, upload_to=courses.models.upload_location), ), migrations.AlterUniqueTogether( name='course', unique_together={('title', 'slug')}, ), migrations.AlterUniqueTogether( name='lesson', unique_together={('title', 'slug')}, ), migrations.AlterUniqueTogether( name='video', unique_together={('title', 'slug')}, ), ]
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): dependencies = [ ('courses', '0018_auto_20170207_2336'), ] operations = [ migrations.AddField( model_name='course', name='image', field=models.ImageField(blank=True, height_field='image_height', null=True, upload_to=courses.models.handle_upload, width_field='image_width'), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0004_auto_20190626_1611'), ] operations = [ migrations.AlterField( model_name='course', name='image', field=models.ImageField(upload_to=courses.models.content_file_name), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Subject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('description', models.CharField(max_length=500)), ('pub_date', models.DateTimeField(auto_now=True)), ('slug', models.SlugField(max_length=200, unique=True)), ], options={ 'verbose_name': 'Subject', 'ordering': ('title', ), }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('image', models.ImageField( blank=True, upload_to=courses.models.upload_image_path)), ('description', models.CharField(max_length=500)), ('pub_date', models.DateTimeField(auto_now=True)), ('slug', models.SlugField(max_length=200, unique=True)), ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='products', to='courses.Subject')), ], options={ 'ordering': ('title', ), 'index_together': {('id', 'slug')}, }, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0005_auto_20190518_1806'), ] operations = [ migrations.AlterField( model_name='course', name='image', field=models.ImageField(upload_to=courses.models.upload_to_path, verbose_name='封面图'), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0007_remove_vehicle_default'), ] operations = [ migrations.AlterField( model_name='coursescreenshot', name='shot', field=models.ImageField( max_length=255, upload_to=courses.models.screenshot_location), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0021_course_image'), ] operations = [ migrations.AlterField( model_name='course', name='image', field=models.ImageField(default='media/default.png', upload_to=courses.models.get_image_path), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0002_course_image'), ] operations = [ migrations.AlterField( model_name='course', name='image', field=models.ImageField( default='/media/ml.jpg', upload_to=courses.models.content_file_name), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0001_initial'), ] operations = [ migrations.AddField( model_name='course', name='image', field=models.ImageField( default=1, upload_to=courses.models.content_file_name), preserve_default=False, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0003_auto_20190626_1610'), ] operations = [ migrations.AlterField( model_name='course', name='image', field=models.ImageField( default='/media/defaultImg.jpg', upload_to=courses.models.content_file_name), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0015_auto_20200115_1055'), ] operations = [ migrations.AddField( model_name='course', name='cover', field=models.ImageField( default='courses/default.png', upload_to='courses/', validators=[courses.models.validate_image_size]), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0024_auto_20190305_1923'), ] operations = [ migrations.AlterField( model_name='course', name='course_image', field=models.ImageField( default='course/default_image/course_default.jpg', max_length=500, upload_to=courses.models.get_upload_course_image_path, verbose_name='课程图片'), ), ]
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', '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): dependencies = [ ('courses', '0005_auto_20190331_0313'), ] operations = [ migrations.AddField( model_name='course', name='certificate', field=models.ImageField(blank=True, null=True, upload_to=courses.models.course_directory_path), ), migrations.AlterField( model_name='topic', name='course', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='topics', to='courses.Course'), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0016_course_cover'), ] operations = [ migrations.AddField( model_name='courseenrollment', name='_grade', field=models.IntegerField(db_column='grade', null=True), ), migrations.AlterField( model_name='course', name='cover', field=models.ImageField(default='courses/default.png', upload_to=courses.models.course_cover_path, validators=[courses.models.validate_image_size]), ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0004_auto_20180817_1056'), ] operations = [ migrations.AlterField( model_name='course', name='image', field=models.ImageField(blank=True, null=True, upload_to=courses.models.upload_to_dir), ), migrations.AlterField( model_name='document', name='file', field=models.FileField(blank=True, null=True, upload_to=courses.models.upload_to_dir, validators=[ courses.validators.FileValidator( allowed_extensions='pdf', allowed_mimetypes='application/pdf', max_size=104857600) ]), ), migrations.AlterField( model_name='video', name='file', field=models.FileField(blank=True, null=True, upload_to=courses.models.upload_to_dir, validators=[ courses.validators.FileValidator( allowed_extensions=('mp4', 'ogg', 'webm'), allowed_mimetypes=('media/mp4', 'media/ogg', 'media/webm'), max_size=104857600) ]), ), ]
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): dependencies = [ ('courses', '0015_course_secondary'), ] operations = [ migrations.AddField( model_name='course', name='image', field=models.ImageField(blank=True, height_field=models.IntegerField(blank=True, null=True), null=True, upload_to=courses.models.handle_upload, width_field=models.IntegerField(blank=True, null=True)), ), migrations.AddField( model_name='course', name='image_height', field=models.IntegerField(blank=True, null=True), ), migrations.AddField( model_name='course', name='image_width', field=models.IntegerField(blank=True, null=True), ), ]
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 = [ ('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), ('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='ConnectionPlatform', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=150)), ('url_link', models.URLField(blank=True)), ('deleted', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='Event', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('is_recurrent', models.BooleanField(default=False, null=True)), ('is_recorded', models.BooleanField(default=False, null=True)), ('event_type', models.CharField(blank=True, choices=[('COURSE', 'Course'), ('EVENT', 'Event')], max_length=50)), ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_event_picture)), ('title', models.CharField(blank=True, max_length=150)), ('description', models.CharField(blank=True, max_length=10000)), ('other_platform', models.CharField(blank=True, max_length=150)), ('reference_price', models.FloatField(blank=True, default=0, null=True)), ('date_created', models.DateTimeField(auto_now_add=True)), ('date_start', models.DateTimeField(blank=True, null=True)), ('date_end', models.DateTimeField(blank=True, null=True)), ('date_recorded', models.DateTimeField(blank=True, null=True)), ('schedule_description', models.CharField(blank=True, max_length=1000)), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ('platform', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.ConnectionPlatform')), ], ), migrations.CreateModel( name='CertificateRequest', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateTimeField(auto_now_add=True, null=True)), ('accepted', models.BooleanField(blank=True, default=None, null=True)), ('deleted', models.BooleanField(blank=True, default=False, null=True)), ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Event')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Certificate', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date_created', models.DateTimeField(auto_now_add=True)), ('event', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Event')), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Bookmark', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateTimeField(auto_now_add=True, null=True)), ('deleted', models.BooleanField(blank=True, default=False, null=True)), ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Event')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
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='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), ] 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'), ), ]