예제 #1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Courses',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('course_code', models.CharField(max_length=16)),
                ('curriculum', models.TextField()),
                ('ects', models.PositiveIntegerField()),
                ('full_time_semester', models.PositiveIntegerField()),
                ('part_time_semester', models.PositiveIntegerField()),
                ('optional',
                 models.CharField(choices=[('YES', 'yes'), ('NO', 'no')],
                                  default=courses.models.OptionalChoices('no'),
                                  max_length=8)),
            ],
        ),
    ]
예제 #2
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=40)),
                ('started',
                 models.PositiveIntegerField(
                     default=2020,
                     validators=[
                         django.core.validators.MinValueValidator(1970),
                         courses.models.max_value_current_year
                     ])),
            ],
            options={
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='CourseGrade',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('grade',
                 models.CharField(choices=[('A', 'Excellent'), ('B', 'Good'),
                                           ('C', 'Fair'), ('D', 'Poor')],
                                  max_length=1)),
            ],
            options={
                'ordering': ('student', 'course', 'grade'),
            },
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('start_time', models.DateTimeField(blank=True, null=True)),
                ('duration', models.IntegerField(blank=True, null=True)),
                ('location',
                 models.CharField(blank=True, max_length=80, null=True)),
            ],
            options={
                'ordering': ('course', '-start_time'),
            },
        ),
        migrations.CreateModel(
            name='LessonGrade',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('grade',
                 models.CharField(choices=[('A', 'Excellent'), ('B', 'Good'),
                                           ('C', 'Fair'), ('D', 'Poor')],
                                  max_length=1)),
                ('lesson',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.Lesson')),
            ],
            options={
                'ordering': ('student', 'lesson', 'grade'),
            },
        ),
    ]
예제 #3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='название')),
                ('slug', models.SlugField(unique=True, verbose_name='ссылка')),
                ('description', models.TextField(verbose_name='описание')),
            ],
            options={
                'verbose_name': 'Курс',
                'verbose_name_plural': 'Курсы',
                'ordering': ['-id'],
            },
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='название')),
                ('slug', models.SlugField(verbose_name='ссылка')),
                ('video',
                 coursify.fields.VideoField(
                     blank=True,
                     upload_to=courses.models.lesson_video_upload_to,
                     verbose_name='видео')),
                ('content', models.TextField(blank=True,
                                             verbose_name='контент')),
                ('order',
                 models.PositiveIntegerField(default=0,
                                             verbose_name='порядок')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='lessons',
                                   to='courses.Course',
                                   verbose_name='курс')),
            ],
            options={
                'verbose_name': 'Урок',
                'verbose_name_plural': 'Уроки',
                'ordering': ['order'],
                'unique_together': {('course', 'slug')},
            },
        ),
    ]
예제 #4
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Answer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.CharField(max_length=100, null=True)),
                ('correct', models.BooleanField(default=False)),
            ],
        ),
        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)),
                ('category',
                 models.CharField(choices=[('other', 'inna'),
                                           ('infa', 'informatyka'),
                                           ('matma', 'matematyka'),
                                           ('fizyka', 'fizyka'),
                                           ('biologia', 'biologia'),
                                           ('chemia', 'chemia')],
                                  default='other',
                                  max_length=100)),
                ('desc', models.CharField(max_length=1000)),
                ('slug',
                 models.SlugField(allow_unicode=True,
                                  blank=True,
                                  null=True,
                                  unique=True)),
                ('node_count', models.PositiveIntegerField(default=0)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='author_courses',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Node',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('desc', models.CharField(max_length=200)),
                ('content', models.CharField(default='', max_length=2000)),
                ('slug',
                 models.SlugField(allow_unicode=True, blank=True, null=True)),
                ('node_type',
                 models.CharField(choices=[('lesson', 'Lekcja'),
                                           ('test', 'Test')],
                                  default='lesson',
                                  max_length=20)),
                ('node_number', models.PositiveIntegerField(default=0)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.course')),
            ],
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.CharField(max_length=200, null=True)),
                ('answers', models.ManyToManyField(to='courses.Answer')),
                ('node',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.node')),
            ],
        ),
        migrations.CreateModel(
            name='LessonFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('lesson_type',
                 multiselectfield.db.fields.MultiSelectField(choices=[
                     ('0', 'Wzrokowiec'), ('1', 'Kinestetyk'),
                     ('2', 'Słuchowiec')
                 ],
                                                             default='0',
                                                             max_length=5)),
                ('lesson_file',
                 models.FileField(upload_to=courses.models.get_upload_path)),
                ('node',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.node')),
            ],
        ),
    ]
예제 #5
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'),
        ),
    ]
예제 #6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='Content',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('object_id', models.PositiveIntegerField()),
                ('order', courses.fields.OrderField(blank=True)),
                ('content_type', models.ForeignKey(limit_choices_to={'model__in': ('text', 'video', 'image', 'file')}, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
            ],
            options={
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('slug', models.SlugField(max_length=200, unique=True)),
                ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_location)),
                ('overview', models.TextField()),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='courses_created', to=settings.AUTH_USER_MODEL)),
                ('students', models.ManyToManyField(blank=True, related_name='courses_joined', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-created',),
            },
        ),
        migrations.CreateModel(
            name='File',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=250)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('file', models.FileField(upload_to='files')),
                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='file_related', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Image',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=250)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('file', models.FileField(upload_to='images')),
                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='image_related', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Module',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('description', models.TextField(blank=True)),
                ('order', courses.fields.OrderField(blank=True)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='modules', to='courses.Course')),
            ],
            options={
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Subject',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=200)),
                ('slug', models.SlugField(max_length=200, unique=True)),
            ],
            options={
                'ordering': ('title',),
            },
        ),
        migrations.CreateModel(
            name='Subscription',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('your_email', models.EmailField(blank=True, max_length=254)),
            ],
        ),
        migrations.CreateModel(
            name='Text',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=250)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('content', models.TextField()),
                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='text_related', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Video',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=250)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('url', models.URLField()),
                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='video_related', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.AddField(
            model_name='course',
            name='subject',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='courses', to='courses.Subject'),
        ),
        migrations.AddField(
            model_name='content',
            name='module',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contents', to='courses.Module'),
        ),
    ]