コード例 #1
0
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0025_cleaning_up_course_model'),
    ]

    operations = [
        migrations.AlterField(
            model_name='lesson',
            name='date',
            field=models.DateField(default=courses.models.Lesson.default_lesson_date),
        ),
        migrations.AlterField(
            model_name='worksheet',
            name='title',
            field=models.CharField(default=django.utils.timezone.now, max_length=50, unique=True),
        ),
    ]
コード例 #2
0
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)),
            ],
        ),
    ]
コード例 #3
0
ファイル: 0001_initial.py プロジェクト: My-captain/iMooc
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='章节'),
        ),
    ]
コード例 #4
0
ファイル: 0001_inital.py プロジェクト: developerxyzw/algocode
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Contest',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField()),
                ('title', models.TextField()),
                ('statements', models.FileField(blank=True, upload_to=courses.models.get_statements_file_path)),
                ('show_statements', models.BooleanField(default=False)),
                ('duration', models.IntegerField(default=0)),
                ('coefficient', models.FloatField(default=1.0)),
                ('is_olymp', models.BooleanField(default=False)),
                ('judge', models.CharField(choices=[('EJ', 'Ejudge'), ('CF', 'Codeforces'), ('IN', 'Informatics')], default='EJ', max_length=2)),
                ('contest_id', models.IntegerField()),
                ('external_group_id', models.TextField(blank=True)),
                ('other_link', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='ContestLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('file', models.FileField(blank=True, upload_to=courses.models.get_contest_file_path)),
                ('link', models.TextField(blank=True)),
                ('new_tab', models.BooleanField(default=False)),
                ('priority', models.IntegerField(default=0)),
                ('contest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Contest')),
            ],
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.TextField(unique=True)),
                ('title', models.TextField(blank=True)),
                ('subtitle', models.TextField(blank=True)),
                ('template', models.TextField(default='course.html')),
                ('ejudge_url', models.TextField(blank=True)),
                ('url', models.TextField(blank=True)),
                ('name_in_main', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='CourseLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('file', models.FileField(blank=True, upload_to=courses.models.get_course_file_path)),
                ('link', models.TextField(blank=True)),
                ('hidden', models.BooleanField(default=False)),
                ('new_tab', models.BooleanField(default=False)),
                ('priority', models.IntegerField(default=0)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Main',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.TextField(blank=True)),
                ('subtitle', models.TextField(blank=True)),
                ('courses', models.ManyToManyField(to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='MainLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('file', models.FileField(blank=True, upload_to=courses.models.get_main_file_path)),
                ('link', models.TextField(blank=True)),
                ('hidden', models.BooleanField(default=False)),
                ('new_tab', models.BooleanField(default=False)),
                ('priority', models.IntegerField(default=0)),
                ('main', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Main')),
            ],
        ),
        migrations.CreateModel(
            name='Page',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.TextField(unique=True)),
                ('title', models.TextField(blank=True)),
                ('subtitle', models.TextField(blank=True)),
                ('content', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='Participant',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.TextField(verbose_name='Surname and name')),
                ('ejudge_id', models.IntegerField(blank=True, null=True)),
                ('informatics_id', models.IntegerField(blank=True, null=True)),
                ('codeforces_handle', models.TextField(blank=True)),
                ('comment', models.TextField(blank=True)),
                ('email', models.TextField(blank=True)),
                ('telegram_id', models.TextField(blank=True)),
                ('vk_id', models.TextField(blank=True)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='ParticipantsGroup',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.TextField()),
                ('short_name', models.TextField()),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='groups', to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Standings',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.TextField()),
                ('olymp', models.BooleanField(default=False)),
                ('enable_marks', models.BooleanField(default=False)),
                ('js_for_contest_mark', models.TextField(blank=True)),
                ('js_for_total_mark', models.TextField(blank=True)),
                ('js', models.TextField(blank=True)),
                ('contests', models.ManyToManyField(related_name='standings', to='courses.Contest')),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='standings', to='courses.Course')),
            ],
            options={
                'verbose_name_plural': 'Standings',
            },
        ),
        migrations.CreateModel(
            name='Teacher',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.TextField()),
                ('description', models.TextField(blank=True)),
                ('photo', models.FileField(blank=True, upload_to=courses.models.get_photo_path)),
                ('vk_id', models.TextField(blank=True)),
                ('telegram_id', models.TextField(blank=True)),
            ],
        ),
        migrations.AddField(
            model_name='participant',
            name='group',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='courses.ParticipantsGroup'),
        ),
        migrations.AddField(
            model_name='course',
            name='teachers',
            field=models.ManyToManyField(blank=True, related_name='courses', to='courses.Teacher'),
        ),
        migrations.AddField(
            model_name='contest',
            name='course',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contests', to='courses.Course'),
        ),
    ]
コード例 #5
0
ファイル: 0001_initial.py プロジェクト: sonnesen/tccproject
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'),
        ),
    ]
コード例 #6
0
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'),
        ),
    ]
コード例 #7
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=300, verbose_name='Title')),
                ('slug', models.SlugField()),
                ('places', models.IntegerField(verbose_name='Places to course')),
                ('description', models.TextField(verbose_name='About the course')),
                ('price', models.IntegerField(verbose_name='Price')),
                ('is_active', models.BooleanField(verbose_name='Is course active?')),
                ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')),
            ],
            options={
                'ordering': ['-date_added'],
                'verbose_name_plural': 'Courses',
                'verbose_name': 'Course',
            },
        ),
        migrations.CreateModel(
            name='CourseReview',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=50, verbose_name='First name')),
                ('last_name', models.CharField(max_length=60, verbose_name='Last name')),
                ('avatar', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Avatar')),
                ('link_to_fb', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to Facebook')),
                ('link_to_inst', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to Instagram')),
                ('link_to_linkedin', models.CharField(blank=True, max_length=200, null=True, verbose_name='Link to LinkedIn')),
                ('review', models.TextField(verbose_name='Review')),
                ('video', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Video review')),
                ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Course')),
            ],
            options={
                'ordering': ['-date_added'],
                'verbose_name_plural': 'Courses reviews',
                'verbose_name': 'Course review',
            },
        ),
        migrations.CreateModel(
            name='CourseTypes',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('permission', models.CharField(choices=[('F_S', 'Fast start'), ('A_I', 'All-inclusive'), ('P', 'Premium')], default='F_S', max_length=50, verbose_name='Permission')),
                ('title', models.CharField(max_length=60, verbose_name='Title')),
                ('is_active', models.BooleanField(verbose_name='Is course type active?')),
                ('description', models.TextField(verbose_name='Description')),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Course')),
            ],
            options={
                'verbose_name_plural': 'Course types',
                'verbose_name': 'Course type',
            },
        ),
        migrations.CreateModel(
            name='Discount',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=100, verbose_name='Title')),
                ('slug', models.SlugField()),
                ('percents', models.IntegerField(verbose_name='Percents')),
                ('from_date', models.DateField(verbose_name='From')),
                ('till_date', models.DateField(verbose_name='Till')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created at')),
                ('author', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Author')),
            ],
            options={
                'verbose_name_plural': 'Discounts',
                'verbose_name': 'Discount',
            },
        ),
        migrations.CreateModel(
            name='Student',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=50, verbose_name='First name')),
                ('last_name', models.CharField(max_length=60, verbose_name='Last name')),
                ('email', models.EmailField(max_length=100, unique=True, verbose_name='Email')),
                ('phone', models.CharField(max_length=20, unique=True, verbose_name='Phone')),
                ('skype', models.CharField(blank=True, max_length=40, null=True, unique=True, verbose_name='Skype')),
                ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='Date added')),
                ('courses', models.ManyToManyField(to='courses.Course', verbose_name='Courses')),
            ],
            options={
                'ordering': ['-date_added'],
                'verbose_name_plural': 'Students',
                'verbose_name': 'Student',
            },
        ),
        migrations.CreateModel(
            name='Teacher',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=50, verbose_name='First name')),
                ('last_name', models.CharField(max_length=60, verbose_name='Last name')),
                ('email', models.EmailField(max_length=100, verbose_name='Email')),
                ('avatar', models.FileField(blank=True, null=True, upload_to=courses.models.upload_path, verbose_name='Avatar')),
                ('age', models.DateField(verbose_name='Age')),
                ('description', models.TextField(blank=True, null=True, verbose_name='About teacher')),
            ],
            options={
                'verbose_name_plural': 'Teachers',
                'verbose_name': 'Teacher',
            },
        ),
        migrations.AddField(
            model_name='course',
            name='discount',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Discount', verbose_name='Discount'),
        ),
        migrations.AddField(
            model_name='course',
            name='teachers',
            field=models.ManyToManyField(to='courses.Teacher', verbose_name='Teachers'),
        ),
    ]