class Migration(migrations.Migration): initial = True dependencies = [ ('user', '0001_initial'), ] 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='课程名')), ('introduction', models.CharField(max_length=250, verbose_name='介绍')), ('credit', models.IntegerField(verbose_name='学分')), ('max_number', models.IntegerField(verbose_name='课程最大人数')), ('year', models.IntegerField(default=course.models.current_year, verbose_name='年份')), ('semester', models.CharField(choices=[('Autumn', '上'), ('Spring', '下')], max_length=5, verbose_name='学期')), ('start_select', models.BooleanField(default=False, verbose_name='开始选课')), ('end_select', models.BooleanField(default=False, verbose_name='结束选课')), ('is_end', models.BooleanField(default=False, verbose_name='是否结课')), ('teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.Teacher', verbose_name='课程教师')), ], ), migrations.CreateModel( name='StudentCourse', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('create_time', models.DateTimeField(auto_now=True)), ('with_draw', models.BooleanField(default=False)), ('with_draw_time', models.DateTimeField(default=None, null=True)), ('scores', models.IntegerField(null=True, verbose_name='成绩')), ('comments', models.CharField(max_length=250, null=True, verbose_name='老师评价')), ('rating', models.IntegerField(null=True, verbose_name='学生评分')), ('assessment', models.CharField(max_length=250, null=True, verbose_name='学生评价')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.Student')), ], ), migrations.CreateModel( name='Schedule', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('weekday', models.IntegerField(choices=[(1, '周一'), (2, '周二'), (3, '周三'), (4, '周四'), (5, '周五'), (6, '周六'), (7, '周日')], verbose_name='日期')), ('start_time', models.TimeField(verbose_name='上课时间')), ('end_time', models.TimeField(verbose_name='下课时间')), ('location', models.CharField(max_length=100, verbose_name='上课地点')), ('remarks', models.CharField(max_length=100, verbose_name='备注')), ('start_week', models.IntegerField(verbose_name='第几周开始')), ('end_week', models.IntegerField(verbose_name='第几周结束')), ('week_interval', models.IntegerField(choices=[(1, '无间隔'), (2, '每隔一周上一次')], default=1, verbose_name='周间隔')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course', verbose_name='课程名')), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('course', '0113_merge_20190919_1408'), ] operations = [ migrations.AlterField( model_name='participationrole', name='identifier', field=models.CharField( help_text= "A symbolic name for this role, used in course code. Should be a valid identifier. The name 'unenrolled' is special and refers to anyone not enrolled in the course.", max_length=100, verbose_name='Role identifier'), ), migrations.AlterField( model_name='participationtag', name='name', field=models.CharField(help_text='Should be a valid identifier.', max_length=100, verbose_name='Name of participation tag'), ), migrations.AlterField( model_name='participationtag', name='shown_to_participant', field=models.BooleanField(default=False, verbose_name='Shown to participant'), ), ]
class Migration(migrations.Migration): dependencies = [ ('course', '0006_organiser_contact'), ] operations = [ migrations.AddField( model_name='submission', name='github_link', field=models.URLField(default=None, null=True), ), migrations.AddField( model_name='task', name='is_github', field=models.BooleanField( default=False, verbose_name= 'If you want the participant to provide a GitHub link please select this' ), ), migrations.AlterField( model_name='submission', name='file', field=models.FileField( default=None, null=True, upload_to=course.models.upload_location_submission), ), ]
class Migration(migrations.Migration): dependencies = [ ('course', '0015_auto_20191204_0253'), ] operations = [ migrations.CreateModel( name='Contents', fields=[ ('content_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('file', models.FileField(upload_to=course.models.gen_pic_path)), ('file_type', models.BooleanField()), ('serial', models.IntegerField()), ('title', models.CharField(max_length=200)), ('description', models.TextField()), ('course_idc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contents_course_id', to='course.Course')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('technology', '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(blank=True, max_length=255, null=True)), ('slug', models.SlugField(blank=True, unique=True)), ('url', models.URLField(blank=True, default='')), ('detail', ckeditor_uploader.fields.RichTextUploadingField()), ('logo', models.ImageField(blank=True, upload_to=course.models.course_logo)), ('logo_url', models.URLField(blank=True, default='')), ('upvotes', models.IntegerField(blank=True, null=True)), ('free', models.BooleanField(default=True)), ('level', models.CharField(choices=[('BEGINNER', 'Beginner'), ('INTERMEDIATE', 'Intermediate'), ('ADVANCED', 'Advanced')], default='Select', max_length=20)), ('submitter', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='submitter', to=settings.AUTH_USER_MODEL)), ('tech', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='technology.Technology')), ('tutor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='tutor', to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='TeachingPeriod', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('day', models.IntegerField()), ('start_time', models.TimeField()), ('end_time', models.TimeField()), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('course_id', models.SlugField(default=course.models.random_course_code, unique=True)), ('name', models.CharField(max_length=255)), ('teacher_name', models.CharField(max_length=255)), ('status', models.BooleanField()), ('teaching_period', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.TeachingPeriod')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('taggit', '0002_auto_20150616_2121'), ('app', '0001_initial'), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('code', models.CharField(max_length=10)), ('name', models.CharField(max_length=100)), ('slug', models.SlugField(blank=True, max_length=250, null=True)), ('title', models.TextField(blank=True, null=True)), ('content', tinymce.models.HTMLField(blank=True, null=True)), ('promotion', models.CharField(blank=True, max_length=50, null=True)), ('remark', models.CharField(blank=True, max_length=50, null=True)), ('days', models.IntegerField(default=0)), ('hours', models.IntegerField(default=0)), ('price', models.DecimalField(decimal_places=2, default=0, max_digits=15)), ('image', models.FileField(blank=True, null=True, upload_to=course.models.get_course_file)), ('published', models.BooleanField(default=True)), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.Category')), ('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), ('teachers', models.ManyToManyField(blank=True, to='app.Teacher')), ], options={ 'db_table': 'course', 'verbose_name_plural': 'Course', }, ), migrations.CreateModel( name='CourseOption', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('option', models.CharField(max_length=50)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], options={ 'db_table': 'course_option', 'verbose_name_plural': 'CourseOption', }, ), migrations.CreateModel( name='CourseSlider', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('image', models.FileField(blank=True, null=True, upload_to=course.models.get_course_slider_file)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], options={ 'db_table': 'course_slider', 'verbose_name_plural': 'CourseSlider', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='Student', fields=[ ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('username', models.CharField(error_messages={'unique': '用户已存在'}, max_length=30, primary_key=True, serialize=False, verbose_name='学号')), ('password', models.CharField(help_text='身份证号后8位', max_length=128, validators=[ django.core.validators.RegexValidator( '^[0-9]{7}[a-z,A-X]{1}$|^[0-9]{8}$', '身份证号后8位', 'invalid') ], verbose_name='身份证号后8位')), ('is_staff', models.BooleanField(default=False, verbose_name='管理员')), ('is_superuser', models.BooleanField(default=False, verbose_name='超级管理员')), ('gender', models.CharField(choices=[('M', '男'), ('F', '女')], max_length=5, verbose_name='性别')), ('course_cat', models.CharField(blank=True, choices=[('pe1or2', '专项1或2'), ('pe3or4', '专项3或4')], default='', max_length=20, verbose_name='上课类别')), ('auto_match', models.BooleanField(default=True, verbose_name='参与自动排课')), ], options={ 'verbose_name': '学生', 'verbose_name_plural': '学生', }, managers=[ ('objects', course.models.StudentManager()), ], ), migrations.CreateModel( name='Course', fields=[ ('course_name', models.CharField(max_length=200, primary_key=True, serialize=False, verbose_name='课程名称')), ('day_slot', models.CharField(choices=[('1', '周一'), ('2', '周二'), ('3', '周三'), ('4', '周四'), ('5', '周五')], max_length=5, verbose_name='上课日期')), ('time_slot', models.CharField(choices=[('1', '第一大节'), ('2', '第二大节'), ('3', '第三大节'), ('4', '第四大节')], max_length=5, verbose_name='上课时间')), ('course_cat', models.CharField(choices=[('pe1or2', '专项1或2'), ('pe3or4', '专项3或4')], max_length=20, verbose_name='课程类别')), ('gender', models.CharField(choices=[('M', '男'), ('F', '女'), ('B', '均可')], max_length=5, verbose_name='性别要求')), ('cur_number', models.IntegerField(default=0, verbose_name='已注册人数')), ('max_number', models.IntegerField(default=100, verbose_name='最大容量')), ('add_number', models.IntegerField(default=0, verbose_name='排课新增人数')), ('auto_match', models.BooleanField(default=True, verbose_name='参与自动排课')), ], options={ 'verbose_name': '课程', 'verbose_name_plural': '课程', }, ), migrations.CreateModel( name='Selection', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('day_slot', models.CharField(choices=[('1', '周一'), ('2', '周二'), ('3', '周三'), ('4', '周四'), ('5', '周五')], max_length=5, verbose_name='星期几')), ('time_slot', models.CharField(choices=[('1', '第一大节'), ('2', '第二大节'), ('3', '第三大节'), ('4', '第四大节')], max_length=5, verbose_name='时间')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='学生')), ], options={ 'verbose_name': '学生选择', 'verbose_name_plural': '学生选择', }, ), migrations.CreateModel( name='SpecialReq', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, unique=True, verbose_name='名称')), ('description', models.TextField(max_length=200, verbose_name='介绍')), ], options={ 'verbose_name': '课程特殊要求', 'verbose_name_plural': '课程特殊要求', }, ), migrations.CreateModel( name='StudentReq', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('special_req', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.SpecialReq', verbose_name='特殊要求')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='学生')), ], options={ 'verbose_name': '学生特殊要求', 'verbose_name_plural': '学生特殊要求', }, ), migrations.AddField( model_name='course', name='special_req', field=models.ForeignKey( blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='course.SpecialReq', verbose_name='特殊要求'), ), migrations.AddField( model_name='student', name='course', field=models.ForeignKey( blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='course.Course', verbose_name='排课'), ), migrations.AddField( model_name='student', name='groups', field=models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'), ), migrations.AddField( model_name='student', name='user_permissions', field=models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'), ), migrations.AlterUniqueTogether( name='studentreq', unique_together=set([('student', 'special_req')]), ), migrations.AlterUniqueTogether( name='selection', unique_together=set([('student', 'day_slot', 'time_slot')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ 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)), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=500)), ('poster', models.ImageField( help_text= 'Please upload a cover picture for your lecture slides.', upload_to='poster/')), ('skills', models.CharField(choices=[('beginner', 'Beginner'), ('intermidate', 'Intermidate'), ('advance', 'Advance')], max_length=25)), ('powerpoint_slides', models.FileField( blank=True, help_text='Please upload your powerpoint slides here.', null=True, upload_to='powerpoint/')), ('powerpoint_url', models.URLField( blank=True, help_text='Please upload your powerpoint slides here.', null=True)), ('price', models.IntegerField( blank=True, help_text= 'Leave the table blank if the course is free of cost.', null=True)), ('created', models.DateTimeField(auto_now_add=True, null=True)), ('modified', models.DateTimeField(auto_now=True, null=True)), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Category')), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Verification', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('qualification', models.FileField( help_text= 'Upload a proof for your verification to become an instructor.', null=True, upload_to='documents/')), ('verify', models.BooleanField(default=False)), ('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')), ('lecture_title', models.CharField( help_text='eg: Lecture 1: Introduction to computer', max_length=500)), ('lecture_content', models.FileField( blank=True, null=True, upload_to='lecture video/', validators=[course.models.validate_file_size])), ('youtube_url', models.URLField( blank=True, help_text='Link of youtube url that you want to upload', null=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], ), migrations.CreateModel( name='Comment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('comment', models.TextField(max_length=200)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ('reply', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='replies', to='course.Comment')), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
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')), ('code', models.CharField(max_length=20, unique=True)), ('name', models.CharField(max_length=128)), ('start_time', models.DateField()), ('end_time', models.DateField()), ('description', models.TextField(blank=True, null=True)), ('deleted', models.BooleanField(default=False)), ('created_at', models.DateTimeField(auto_now=True)), ('modified_at', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( name='CourseResource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('file', models.FileField( upload_to='uploads/course_resources/%Y/%m/')), ('size', models.BigIntegerField()), ('created_at', models.DateTimeField(auto_now=True)), ('modified_at', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( name='CourseTeacherType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=20, unique=True)), ], ), migrations.CreateModel( name='Message', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content', models.TextField()), ('created_at', models.DateTimeField(auto_now=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], ), migrations.CreateModel( name='CourseTeacher', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ('course_teacher_type', models.ForeignKey( default=course.models.CourseTeacherType.default, on_delete=django.db.models.deletion.SET_DEFAULT, to='course.CourseTeacherType')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Chapter', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort_index', models.IntegerField(null=True, verbose_name='章节')), ('title', models.CharField(max_length=256)), ], options={ 'verbose_name_plural': '章节列表', }, ), migrations.CreateModel( name='CourseData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('course_classification', models.IntegerField(choices=[(0, '普通课程'), (1, '微课'), (2, 'Demo'), (3, '总量')], verbose_name='课程类型')), ], options={ 'verbose_name': '课程数据', }, ), migrations.CreateModel( name='Tag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content', models.CharField(max_length=64, verbose_name='标签')), ], options={ 'verbose_name': '标签', }, ), migrations.CreateModel( name='Lecture', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=256, verbose_name='标题')), ('sort_index', models.IntegerField(null=True, verbose_name='课时')), ('is_video', models.BooleanField(default=True, null=True, verbose_name='是否为视频')), ('video', models.CharField(blank=True, max_length=128, null=True, verbose_name='课程视频')), ('video_length', models.CharField(blank=True, max_length=16, null=True, verbose_name='视频长度')), ('content', models.TextField(blank=True, null=True, verbose_name='图文内容(markdown)')), ('is_free', models.BooleanField(default=False, verbose_name='是否免费')), ('chapter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lectures', to='course.Chapter')), ], options={ 'verbose_name_plural': '课时列表', }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('target', models.CharField(choices=[('course', '课程'), ('micro', '微课'), ('demo', 'Demo')], default='course', max_length=12, verbose_name='课程类型')), ('user', models.IntegerField(verbose_name='上传用户ID')), ('title', models.CharField(max_length=128, null=True, verbose_name='标题')), ('brief', models.TextField(default='', verbose_name='课程简介')), ('desc', models.TextField(blank=True, null=True, verbose_name='课程介绍')), ('thumbnail', models.CharField(blank=True, max_length=256, null=True, verbose_name='课程图')), ('is_video', models.BooleanField(default=True, null=True, verbose_name='视频课程')), ('video', models.CharField(blank=True, default='', max_length=128, verbose_name='视频地址')), ('video_length', models.CharField(blank=True, default='', max_length=16, verbose_name='视频长度')), ('content', models.TextField(blank=True, default='', verbose_name='图文内容(markdown)')), ('original_price', models.DecimalField(decimal_places=2, default=0, max_digits=10, null=True, verbose_name='原价')), ('current_price', models.DecimalField(decimal_places=2, default=0, max_digits=10, null=True, verbose_name='现价')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='上传时间')), ('status', models.BooleanField(blank=True, default=False, null=True, verbose_name='是否上架')), ('sale_earnings', models.DecimalField(decimal_places=2, default=0.8, max_digits=10, null=True, verbose_name='分销收益')), ('share_earnings', models.DecimalField(decimal_places=2, default=0.05, max_digits=10, null=True, verbose_name='分享收益')), ('share_discount', models.DecimalField(decimal_places=2, default=0.6, max_digits=10, null=True, verbose_name='分享折扣')), ('promotion_expire', models.DateTimeField(blank=True, null=True, verbose_name='优惠到期时间')), ('is_promoted', models.BooleanField(default=False, verbose_name='是否加入促销')), ('display_hot', models.IntegerField(default=300, null=True, verbose_name='显示热度')), ('real_hot', models.IntegerField(default=0, null=True, verbose_name='真实热度')), ('display_rank', models.DecimalField(decimal_places=2, default=4.0, max_digits=10, verbose_name='显示评分')), ('real_rank', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='真实评分')), ('study_count', models.IntegerField(default=0, verbose_name='学习人数')), ('favour_count', models.IntegerField(default=0, verbose_name='收藏人数')), ('comment_count', models.IntegerField(default=0, verbose_name='评论人数')), ('lecture_count', models.IntegerField(default=0, verbose_name='课时数')), ('tech', models.CharField(blank=True, default='', max_length=256, null=True, verbose_name='技术栈')), ('env', models.CharField(blank=True, default='', max_length=256, null=True, verbose_name='运行环境')), ('banner', models.CharField(blank=True, max_length=256, null=True, verbose_name='课程横幅')), ('video_status', models.BooleanField(default=False, verbose_name='转码完成')), ('upload_thumbnail', models.ImageField( blank=True, null=True, upload_to=course.models.UploadTo('thumbnail/'), verbose_name='上传课程图')), ('upload_banner', models.ImageField(blank=True, null=True, upload_to=course.models.UploadTo('banner/'), verbose_name='banner')), ('tag', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='courses', to='course.Tag', verbose_name='标签')), ], options={ 'verbose_name_plural': '课程列表', }, ), migrations.AddField( model_name='chapter', name='course', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='chapters', to='course.Course'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Lesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)), ('title', models.CharField(blank=True, default='', max_length=255)), ('description', models.TextField()), ('lesson_index', models.PositiveSmallIntegerField()), ('content', models.TextField()), ('audio', models.FileField(upload_to=course.models.scramble_uploaded_filename, verbose_name='Uploaded Audio')), ('video_url', models.CharField(blank=True, default='', max_length=1000)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='LessonComplete', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)), ('completed', models.BooleanField(default=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('current_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_who_complete', to=settings.AUTH_USER_MODEL)), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lesson_to_complete', to='course.Lesson')), ], ), migrations.CreateModel( name='Session', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)), ('image', models.ImageField(upload_to=course.models.scramble_uploaded_filename, verbose_name='Uploaded image')), ('title', models.CharField(blank=True, default='', max_length=255)), ('description', models.TextField()), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='Unit', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False)), ('title', models.CharField(blank=True, default='', max_length=255)), ('description', models.TextField()), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], ), migrations.AddField( model_name='session', name='unit', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='unit_sessions', to='course.Unit'), ), migrations.AddField( model_name='lesson', name='session', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='session_lessons', to='course.Session'), ), ]
class Migration(migrations.Migration): dependencies = [ ('course', '0044_auto_20190415_1807'), ] operations = [ migrations.AlterField( model_name='courseinstance', name='archive_time', field=models.DateTimeField(blank=True, null=True, verbose_name='归档时间'), ), migrations.AlterField( model_name='courseinstance', name='assistants', field=models.ManyToManyField(blank=True, related_name='assisting_courses', to='userprofile.UserProfile', verbose_name='选择助教'), ), migrations.AlterField( model_name='courseinstance', name='content_numbering', field=models.IntegerField(choices=[(0, 'No numbering'), (1, 'Arabic'), (2, 'Roman'), (3, 'Hidden arabic')], default=1, verbose_name='章节编号'), ), migrations.AlterField( model_name='courseinstance', name='description', field=models.TextField(blank=True, verbose_name='描述'), ), migrations.AlterField( model_name='courseinstance', name='ending_time', field=models.DateTimeField(verbose_name='结课时间'), ), migrations.AlterField( model_name='courseinstance', name='enrollment_audience', field=models.IntegerField(choices=[(1, 'Internal users'), (2, 'External users'), (3, 'Internal and external users')], default=1, verbose_name='注册对象'), ), migrations.AlterField( model_name='courseinstance', name='enrollment_ending_time', field=models.DateTimeField(blank=True, null=True, verbose_name='关闭注册时间'), ), migrations.AlterField( model_name='courseinstance', name='enrollment_starting_time', field=models.DateTimeField(blank=True, null=True, verbose_name='开放注册时间'), ), migrations.AlterField( model_name='courseinstance', name='footer', field=models.TextField(blank=True, verbose_name='页脚'), ), migrations.AlterField( model_name='courseinstance', name='head_urls', field=models.TextField(blank=True, help_text='External CSS and JS resources that are included on all course pages. Separate with white space.', verbose_name='资源URLs'), ), migrations.AlterField( model_name='courseinstance', name='image', field=models.ImageField(blank=True, null=True, upload_to=course.models.build_upload_dir, verbose_name='缩略图'), ), migrations.AlterField( model_name='courseinstance', name='index_mode', field=models.IntegerField(choices=[(0, 'User results'), (1, 'Table of contents'), (2, 'Link to last visited content'), (10, 'Experimental setup (hard-coded)')], default=0, help_text='Select content for the course index page.', verbose_name='Index mode'), ), migrations.AlterField( model_name='courseinstance', name='instance_name', field=models.CharField(max_length=255, verbose_name='课程实例'), ), migrations.AlterField( model_name='courseinstance', name='language', field=models.CharField(blank=True, default='zh-hans', max_length=255, verbose_name='语言'), ), migrations.AlterField( model_name='courseinstance', name='lifesupport_time', field=models.DateTimeField(blank=True, null=True, verbose_name='结业时间'), ), migrations.AlterField( model_name='courseinstance', name='module_numbering', field=models.IntegerField(choices=[(0, 'No numbering'), (1, 'Arabic'), (2, 'Roman'), (3, 'Hidden arabic')], default=1, verbose_name='模块编号'), ), migrations.AlterField( model_name='courseinstance', name='starting_time', field=models.DateTimeField(verbose_name='开课时间'), ), migrations.AlterField( model_name='courseinstance', name='technical_error_emails', field=models.CharField(blank=True, help_text='By default exercise errors are reported to teacher email addresses. Set this field as comma separated emails to override the recipients.', max_length=255, verbose_name='错误邮箱'), ), migrations.AlterField( model_name='courseinstance', name='url', field=models.CharField(help_text='Input an URL identifier for this course instance.', max_length=255, validators=[django.core.validators.RegexValidator(message='URL keys may consist of alphanumeric characters, hyphen and period.', regex=re.compile('^\\w[\\w\\-\\.]*$'))], verbose_name='URL标识'), ), migrations.AlterField( model_name='courseinstance', name='view_content_to', field=models.IntegerField(choices=[(1, 'Enrolled students'), (2, 'Enrollment audience'), (3, 'All registered users'), (4, 'Public to internet')], default=1, verbose_name='内容可见'), ), migrations.AlterField( model_name='courseinstance', name='visible_to_students', field=models.BooleanField(default=True, verbose_name='公开课程'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('account', '0001_initial'), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('course_name', models.CharField(default=None, max_length=300)), ('course_description', models.TextField(null=True)), ('course_cover', models.ImageField( blank=True, null=True, upload_to=course.models.Course.upload_location)), ('created_at', models.DateField(default=datetime.date(2020, 11, 17))), ('author', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='account.TeacherProfile')), ], ), migrations.CreateModel( name='Subject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('subject_name', models.CharField(max_length=200, null=True)), ('subject_cover', models.ImageField( blank=True, null=True, upload_to=course.models.Subject.upload_location)), ('duration', models.CharField(blank=True, max_length=20, null=True)), ('description', models.CharField(blank=True, max_length=255, null=True)), ('author', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='account.TeacherProfile')), ], ), migrations.CreateModel( name='Module', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('module_name', models.CharField(max_length=100)), ('module_content', models.CharField(max_length=100)), ('file', models.FileField( null=True, upload_to=course.models.Module.upload_location)), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='modules', to='course.Course')), ], ), migrations.CreateModel( name='Enrollment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('enroll_key', models.CharField(default='Text here', max_length=100, null=True)), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='enrollment', to='course.Course')), ('student', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='account.StudentProfile')), ], ), migrations.AddField( model_name='course', name='subject', field=models.ForeignKey( default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='course.Subject'), ), migrations.CreateModel( name='Coupon', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('coupon_key', models.CharField(max_length=100, null=True)), ('isValid', models.BooleanField(default=True)), ('isIssued', models.BooleanField(default=False)), ('expire_date', models.DateField(null=True, verbose_name='expire_date')), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], ), ]
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')), ('course_name', models.CharField(max_length=200, unique=True)), ('fees', models.IntegerField(default=0)), ('studentEnrolled', models.ManyToManyField(blank=True, default=None, related_name='enrolled_student', to=settings.AUTH_USER_MODEL)), ('teacherId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='language_category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='Type_category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='Review', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('pub_date', models.DateTimeField(auto_now_add=True)), ('comment', models.CharField(max_length=200)), ('rating', models.IntegerField( choices=[(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')])), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='course.course')), ('user_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviewers', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='module', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('module_name', models.CharField(max_length=100, verbose_name='Name')), ('Description', models.TextField()), ('course_associate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.course')), ], ), migrations.CreateModel( name='Content', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('video', models.FileField(upload_to='course_content', validators=[course.models.video_validator])), ('description', models.TextField()), ('is_description_content', models.BooleanField(default=0)), ('module_associated', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.module')), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('userprofile', '0006_auto_20210812_1536'), ('course', '0050_enrollment_roles'), ] operations = [ migrations.AlterModelOptions( name='course', options={ 'verbose_name': 'MODEL_NAME_COURSE', 'verbose_name_plural': 'MODEL_NAME_COURSE_PLURAL' }, ), migrations.AlterModelOptions( name='coursehook', options={ 'verbose_name': 'MODEL_NAME_COURSE_HOOK', 'verbose_name_plural': 'MODEL_NAME_COURSE_HOOK_PLURAL' }, ), migrations.AlterModelOptions( name='courseinstance', options={ 'verbose_name': 'MODEL_NAME_COURSE_INSTANCE', 'verbose_name_plural': 'MODEL_NAME_COURSE_INSTANCE_PLURAL' }, ), migrations.AlterModelOptions( name='coursemodule', options={ 'ordering': ['order', 'closing_time', 'id'], 'verbose_name': 'MODEL_NAME_COURSE_MODULE', 'verbose_name_plural': 'MODEL_NAME_COURSE_MODULE_PLURAL' }, ), migrations.AlterModelOptions( name='enrollment', options={ 'verbose_name': 'MODEL_NAME_ENROLLMENT', 'verbose_name_plural': 'MODEL_NAME_ENROLLMENT_PLURAL' }, ), migrations.AlterModelOptions( name='hardcodedusertag', options={ 'verbose_name': 'MODEL_NAME_HARDCODED_USER_TAG', 'verbose_name_plural': 'MODEL_NAME_HARDCODED_USER_TAG_PLURAL' }, ), migrations.AlterModelOptions( name='learningobjectcategory', options={ 'verbose_name': 'MODEL_NAME_LEARNING_OBJECT_CATEGORY', 'verbose_name_plural': 'MODEL_NAME_LEARNING_OBJECT_CATEGORY_PLURAL' }, ), migrations.AlterModelOptions( name='studentgroup', options={ 'ordering': ['course_instance', 'timestamp'], 'verbose_name': 'MODEL_NAME_STUDENT_GROUP', 'verbose_name_plural': 'MODEL_NAME_STUDENT_GROUP_PLURAL' }, ), migrations.AlterModelOptions( name='usertag', options={ 'ordering': ['course_instance', 'name'], 'verbose_name': 'MODEL_NAME_USER_TAG', 'verbose_name_plural': 'MODEL_NAME_USER_TAG_PLURAL' }, ), migrations.AlterModelOptions( name='usertagging', options={ 'ordering': ['tag'], 'verbose_name': 'MODEL_NAME_USER_TAGGING', 'verbose_name_plural': 'MODEL_NAME_USER_TAGGING_PLURAL' }, ), migrations.AlterField( model_name='course', name='code', field=models.CharField(max_length=255, verbose_name='LABEL_CODE'), ), migrations.AlterField( model_name='course', name='name', field=models.CharField(max_length=255, verbose_name='LABEL_NAME'), ), migrations.AlterField( model_name='course', name='url', field=models.CharField( help_text='COURSE_URL_IDENTIFIER_HELPTEXT', max_length=255, unique=True, validators=[ django.core.validators.RegexValidator( message='URL_KEY_MAY_CONSIST_OF', regex=re.compile('^\\w[\\w\\-\\.]*$')) ], verbose_name='LABEL_URL'), ), migrations.AlterField( model_name='coursehook', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='course_hooks', to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='coursehook', name='hook_type', field=models.CharField(choices=[('post-grading', 'Post grading')], default='post-grading', max_length=12, verbose_name='LABEL_HOOK_TYPE'), ), migrations.AlterField( model_name='coursehook', name='hook_url', field=models.URLField(verbose_name='LABEL_HOOK_URL'), ), migrations.AlterField( model_name='courseinstance', name='archive_time', field=models.DateTimeField(blank=True, null=True, verbose_name='LABEL_ARCHIVE_TIME'), ), migrations.AlterField( model_name='courseinstance', name='content_numbering', field=models.IntegerField(choices=[(0, 'NUMBERING_NONE'), (1, 'NUMBERING_ARABIC'), (2, 'NUMBERING_ROMAN'), (3, 'NUMBERING_HIDDEN_ARABIC')], default=1, verbose_name='LABEL_CONTENT_NUMBERING'), ), migrations.AlterField( model_name='courseinstance', name='course', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='instances', to='course.course', verbose_name='LABEL_COURSE'), ), migrations.AlterField( model_name='courseinstance', name='description', field=models.TextField(blank=True, verbose_name='LABEL_DESCRIPTION'), ), migrations.AlterField( model_name='courseinstance', name='ending_time', field=models.DateTimeField(verbose_name='LABEL_ENDING_TIME'), ), migrations.AlterField( model_name='courseinstance', name='enrollment_audience', field=models.IntegerField( choices=[(1, 'INTERNAL_USERS'), (2, 'EXTERNAL_USERS'), (3, 'ALL_USERS')], default=1, verbose_name='LABEL_ENROLLMENT_AUDIENCE'), ), migrations.AlterField( model_name='courseinstance', name='enrollment_ending_time', field=models.DateTimeField( blank=True, null=True, verbose_name='LABEL_ENROLLMENT_ENDING_TIME'), ), migrations.AlterField( model_name='courseinstance', name='enrollment_starting_time', field=models.DateTimeField( blank=True, null=True, verbose_name='LABEL_ENROLLMENT_STARTING_TIME'), ), migrations.AlterField( model_name='courseinstance', name='footer', field=models.TextField(blank=True, verbose_name='LABEL_FOOTER'), ), migrations.AlterField( model_name='courseinstance', name='head_urls', field=models.TextField( blank=True, help_text= 'COURSE_INSTANCE_EXTERNAL_CSS_AND_JS_FOR_ALL_PAGES_HELPTEXT', verbose_name='LABEL_HEAD_URLS'), ), migrations.AlterField( model_name='courseinstance', name='image', field=models.ImageField(blank=True, null=True, upload_to=course.models.build_upload_dir, verbose_name='LABEL_IMAGE'), ), migrations.AlterField( model_name='courseinstance', name='index_mode', field=models.IntegerField( choices=[(0, 'USER_RESULTS'), (1, 'TABLE_OF_CONTENTS'), (2, 'LAST_VISITED_LINK'), (10, 'EXPERIMENTAL_SETUP')], default=0, help_text='COURSE_INSTANCE_INDEX_CONTENT_SELECTION_HELPTEXT', verbose_name='LABEL_INDEX_MODE'), ), migrations.AlterField( model_name='courseinstance', name='instance_name', field=models.CharField(max_length=255, verbose_name='LABEL_INSTANCE_NAME'), ), migrations.AlterField( model_name='courseinstance', name='language', field=models.CharField(blank=True, default='', max_length=255, verbose_name='LABEL_LANGUAGE'), ), migrations.AlterField( model_name='courseinstance', name='lifesupport_time', field=models.DateTimeField(blank=True, null=True, verbose_name='LABEL_LIFESUPPORT_TIME'), ), migrations.AlterField( model_name='courseinstance', name='module_numbering', field=models.IntegerField(choices=[(0, 'NUMBERING_NONE'), (1, 'NUMBERING_ARABIC'), (2, 'NUMBERING_ROMAN'), (3, 'NUMBERING_HIDDEN_ARABIC')], default=1, verbose_name='LABEL_MODULE_NUMBERING'), ), migrations.AlterField( model_name='courseinstance', name='starting_time', field=models.DateTimeField(verbose_name='LABEL_STARTING_TIME'), ), migrations.AlterField( model_name='courseinstance', name='technical_error_emails', field=models.CharField( blank=True, help_text= 'COURSE_INSTANCE_EXERCISE_ERROR_EMAIL_RECIPIENT_OVERRIDE_HELPTEXT', max_length=255, verbose_name='LABEL_TECHNICAL_ERROR_EMAILS'), ), migrations.AlterField( model_name='courseinstance', name='url', field=models.CharField( help_text='COURSE_INSTANCE_URL_IDENTIFIER_HELPTEXT', max_length=255, validators=[ django.core.validators.RegexValidator( message='URL_KEY_MAY_CONSIST_OF', regex=re.compile('^\\w[\\w\\-\\.]*$')) ], verbose_name='LABEL_URL'), ), migrations.AlterField( model_name='courseinstance', name='view_content_to', field=models.IntegerField(choices=[(1, 'ENROLLED_STUDENTS'), (2, 'ENROLLMENT_AUDIENCE'), (3, 'ALL_REGISTERED_USERS'), (4, 'PUBLIC')], default=1, verbose_name='LABEL_VIEW_CONTENT_TO'), ), migrations.AlterField( model_name='courseinstance', name='visible_to_students', field=models.BooleanField( default=True, verbose_name='LABEL_VISIBLE_TO_STUDENTS'), ), migrations.AlterField( model_name='coursemodule', name='closing_time', field=models.DateTimeField( default=django.utils.timezone.now, help_text='MODULE_CLOSING_TIME_HELPTEXT', verbose_name='LABEL_CLOSING_TIME'), ), migrations.AlterField( model_name='coursemodule', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='course_modules', to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='coursemodule', name='introduction', field=models.TextField(blank=True, verbose_name='LABEL_INTRODUCTION'), ), migrations.AlterField( model_name='coursemodule', name='late_submission_deadline', field=models.DateTimeField( default=django.utils.timezone.now, verbose_name='LABEL_LATE_SUBMISSION_DEADLINE'), ), migrations.AlterField( model_name='coursemodule', name='late_submission_penalty', field=lib.fields.PercentField( default=0.5, help_text='MODULE_LATE_SUBMISSION_PENALTY_HELPTEXT', verbose_name='LABEL_LATE_SUBMISSION_PENALTY'), ), migrations.AlterField( model_name='coursemodule', name='late_submissions_allowed', field=models.BooleanField( default=False, verbose_name='LABEL_LATE_SUBMISSIONS_ALLOWED'), ), migrations.AlterField( model_name='coursemodule', name='name', field=models.CharField(max_length=255, verbose_name='LABEL_NAME'), ), migrations.AlterField( model_name='coursemodule', name='opening_time', field=models.DateTimeField( default=django.utils.timezone.now, verbose_name='LABEL_EXERCISE_OPENING_TIME'), ), migrations.AlterField( model_name='coursemodule', name='order', field=models.IntegerField(default=1, verbose_name='LABEL_ORDER'), ), migrations.AlterField( model_name='coursemodule', name='points_to_pass', field=models.PositiveIntegerField( default=0, verbose_name='LABEL_POINTS_TO_PASS'), ), migrations.AlterField( model_name='coursemodule', name='reading_opening_time', field=models.DateTimeField( blank=True, help_text='MODULE_READING_OPENING_TIME_HELPTEXT', null=True, verbose_name='LABEL_READING_OPENING_TIME'), ), migrations.AlterField( model_name='coursemodule', name='status', field=models.CharField(choices=[('hidden', 'STATUS_HIDDEN'), ('maintenance', 'STATUS_MAINTENANCE'), ('ready', 'STATUS_READY'), ('unlisted', 'STATUS_UNLISTED')], default='ready', max_length=32, verbose_name='LABEL_STATUS'), ), migrations.AlterField( model_name='coursemodule', name='url', field=models.CharField( help_text='MODULE_URL_IDENTIFIER_HELPTEXT', max_length=255, validators=[ django.core.validators.RegexValidator( message='URL_KEY_MAY_CONSIST_OF', regex=re.compile('^\\w[\\w\\-\\.]*$')) ], verbose_name='LABEL_URL'), ), migrations.AlterField( model_name='enrollment', name='anon_id', field=models.CharField(blank=True, max_length=50, null=True, unique=True, verbose_name='LABEL_ANON_ID'), ), migrations.AlterField( model_name='enrollment', name='anon_name', field=models.CharField(blank=True, default='', max_length=50, verbose_name='LABEL_ANON_NAME'), ), migrations.AlterField( model_name='enrollment', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='enrollment', name='language', field=models.CharField(blank=True, default='', max_length=5, verbose_name='LABEL_LANGUAGE'), ), migrations.AlterField( model_name='enrollment', name='personal_code', field=models.CharField(blank=True, default='', max_length=10, verbose_name='LABEL_PERSONAL_CODE'), ), migrations.AlterField( model_name='enrollment', name='role', field=models.IntegerField(choices=[(1, 'STUDENT'), (2, 'ASSISTANT'), (3, 'TEACHER')], default=1, verbose_name='LABEL_ROLE'), ), migrations.AlterField( model_name='enrollment', name='selected_group', field=models.ForeignKey( blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='course.studentgroup', verbose_name='LABEL_SELECTED_GROUP'), ), migrations.AlterField( model_name='enrollment', name='status', field=models.IntegerField(choices=[(1, 'ACTIVE'), (2, 'REMOVED'), (3, 'BANNED')], default=1, verbose_name='LABEL_STATUS'), ), migrations.AlterField( model_name='enrollment', name='timestamp', field=models.DateTimeField(auto_now_add=True, verbose_name='LABEL_TIMESTAMP'), ), migrations.AlterField( model_name='enrollment', name='user_profile', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='userprofile.userprofile', verbose_name='LABEL_USER_PROFILE'), ), migrations.AlterField( model_name='learningobjectcategory', name='accept_unofficial_submits', field=models.BooleanField( default=False, help_text= 'LEARNING_OBJECT_CATEGORY_ACCEPT_UNOFFICIAL_SUBMISSIONS_HELPTEXT', verbose_name='LABEL_ACCEPT_UNOFFICIAL_SUBMITS'), ), migrations.AlterField( model_name='learningobjectcategory', name='confirm_the_level', field=models.BooleanField( default=False, help_text= 'LEARNING_OBJECT_CATEGORY_LEVEL_CONFIRMATION_EXERCISE_HELPTEXT', verbose_name='LABEL_CONFIRM_THE_LEVEL'), ), migrations.AlterField( model_name='learningobjectcategory', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='categories', to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='learningobjectcategory', name='description', field=models.TextField(blank=True, verbose_name='LABEL_DESCRIPTION'), ), migrations.AlterField( model_name='learningobjectcategory', name='name', field=models.CharField(max_length=255, verbose_name='LABEL_NAME'), ), migrations.AlterField( model_name='learningobjectcategory', name='points_to_pass', field=models.PositiveIntegerField( default=0, verbose_name='LABEL_POINTS_TO_PASS'), ), migrations.AlterField( model_name='learningobjectcategory', name='status', field=models.CharField(choices=[('hidden', 'STATUS_HIDDEN'), ('nototal', 'STATUS_NO_TOTAL_POINTS'), ('ready', 'STATUS_READY')], default='ready', max_length=32, verbose_name='LABEL_STATUS'), ), migrations.AlterField( model_name='studentgroup', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='groups', to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='studentgroup', name='members', field=models.ManyToManyField(related_name='groups', to='userprofile.UserProfile', verbose_name='LABEL_MEMBERS'), ), migrations.AlterField( model_name='studentgroup', name='timestamp', field=models.DateTimeField(auto_now_add=True, verbose_name='LABEL_TIMESTAMP'), ), migrations.AlterField( model_name='usertag', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='usertags', to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='usertag', name='visible_to_students', field=models.BooleanField( default=False, verbose_name='LABEL_VISIBLE_TO_STUDENTS'), ), migrations.AlterField( model_name='usertagging', name='course_instance', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='taggings', to='course.courseinstance', verbose_name='LABEL_COURSE_INSTANCE'), ), migrations.AlterField( model_name='usertagging', name='tag', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='taggings', to='course.usertag', verbose_name='LABEL_TAG'), ), migrations.AlterField( model_name='usertagging', name='user', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='taggings', to='userprofile.userprofile', verbose_name='LABEL_USER'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('user', '0001_initial'), ('department', '0001_initial'), ] operations = [ migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('semester', models.CharField( choices=[('SEM_1', '1st Semester'), ('SEM_2', '2nd Semester'), ('SEM_3', '3rd Semester'), ('SEM_4', '4th Semester'), ('SEM_5', '5th Semester'), ('SEM_6', '6th Semester'), ('SEM_7', '7th Semester'), ('SEM_8', '8th Semester')], default=course.models.Semester('1st Semester'), max_length=50)), ('name', models.CharField(max_length=50)), ('course_code', models.CharField(max_length=50)), ('max_marks', models.IntegerField()), ('credits', models.PositiveSmallIntegerField()), ('objective', models.TextField()), ('syllabus', models.TextField()), ('text_books', models.TextField()), ('ref_material', models.TextField()), ('prerequisite', models.TextField()), ('type', models.CharField(max_length=50)), ('duration', models.DurationField()), ('hours', models.DurationField()), ('updated_on', models.DateField()), ('department', models.ForeignKey(on_delete=None, to='department.Department')), ], ), migrations.CreateModel( name='CourseAvailable', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('year', models.DateField()), ('active', models.BooleanField()), ('course', models.ForeignKey(on_delete=None, to='course.Course')), ('faculty', models.ForeignKey(on_delete=None, to='user.User')), ], ), migrations.CreateModel( name='CourseEnrollment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('year', models.PositiveSmallIntegerField()), ('course', models.ForeignKey(on_delete=None, to='course.Course')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.User')), ], ), migrations.CreateModel( name='CourseFeedback', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('year', models.DateField()), ('active', models.BooleanField(default=False)), ('course', models.ForeignKey(on_delete=None, to='course.Course')), ], ), migrations.CreateModel( name='CourseOutcomes', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField()), ('course', models.ForeignKey(on_delete=None, to='course.Course')), ], ), migrations.CreateModel( name='FeedbackAnswer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('answer', models.TextField()), ], ), migrations.CreateModel( name='FeedbackQuestion', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('type', models.CharField( max_length=30, verbose_name=[ (course.models.FeedbackQuestionType('True/False'), 'True/False'), (course.models.FeedbackQuestionType( 'Multiple Choice'), 'Multiple Choice'), (course.models.FeedbackQuestionType('Rating'), 'Rating') ])), ('options', models.PositiveSmallIntegerField()), ('quesText', models.TextField()), ('order', models.PositiveSmallIntegerField()), ('feedback', models.ForeignKey(on_delete=None, to='course.CourseFeedback')), ], ), migrations.AddField( model_name='feedbackanswer', name='question', field=models.ForeignKey(on_delete=None, to='course.FeedbackQuestion'), ), migrations.AddField( model_name='feedbackanswer', name='user', field=models.ForeignKey(on_delete=None, to='user.User'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Level', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('level_value', models.CharField(max_length=255)), ('level_description', models.CharField(max_length=255)), ], ), migrations.CreateModel( name='Lesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('lesson_name', models.CharField(max_length=255)), ('slug', models.SlugField(max_length=500, unique=True)), ('lft', models.PositiveIntegerField(editable=False)), ('rght', models.PositiveIntegerField(editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(editable=False)), ('parent', mptt.fields.TreeForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='course.lesson')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('course_name', models.CharField(max_length=255)), ('course_description', models.TextField()), ('course_price', models.IntegerField()), ('course_image', models.FileField(upload_to=course.models.upload_product_img)), ('is_feachered', models.BooleanField(default=False)), ('publish_date', models.DateField()), ('slug', models.SlugField(max_length=500)), ('lessons', mptt.fields.TreeManyToManyField(related_name='courses', to='course.Lesson')), ('level', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to='course.level')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Account', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('is_teach', models.BooleanField(default=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=500, unique=True)), ], ), migrations.CreateModel( name='Message', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('subject', models.CharField(max_length=1000)), ('date', models.DateField(default=datetime.date(2018, 3, 11))), ('time', models.TimeField(default=datetime.time(21, 20, 37, 953924))), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], ), migrations.CreateModel( name='StudCourse', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateField(default=datetime.date(2018, 3, 11), verbose_name=course.models.Student)), ('time', models.TimeField(default=datetime.time(21, 20, 37, 953924))), ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='course.Course')), ], ), migrations.CreateModel( name='Student', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Teacher', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='studcourse', name='stud', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to='course.Student'), ), migrations.AddField( model_name='course', name='teacher', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='course.Teacher'), ), ]