class Migration(migrations.Migration):

    dependencies = [
        ('users', '0002_customuser_subscription'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('contests', '0010_mymoskvichiselect_access'),
    ]

    operations = [
        migrations.AlterField(
            model_name='artakiada',
            name='year_contest',
            field=models.CharField(default='2021-2022 год', max_length=20, verbose_name='Год проведения'),
        ),
        migrations.AlterField(
            model_name='mymoskvichi',
            name='year_contest',
            field=models.CharField(default='2021-2022 год', max_length=20, verbose_name='Год проведения'),
        ),
        migrations.AlterField(
            model_name='nrusheva',
            name='year_contest',
            field=models.CharField(default='2021-2022 год', max_length=20, verbose_name='Год проведения'),
        ),
        migrations.CreateModel(
            name='Archive',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('reg_number', models.CharField(max_length=20, unique=True, verbose_name='Регистрационный номер')),
                ('barcode', models.CharField(max_length=15, verbose_name='Штрих-код')),
                ('fio', models.CharField(max_length=300, verbose_name='Участник')),
                ('fio_teacher', models.CharField(max_length=300, verbose_name='Педагог')),
                ('school', models.CharField(max_length=150, verbose_name='Образовательная организация')),
                ('city', models.CharField(blank=True, max_length=101, verbose_name='Город')),
                ('date_reg', models.DateTimeField(auto_now=True)),
                ('contest', models.CharField(max_length=200, verbose_name='Конкурс')),
                ('year_contest', models.CharField(max_length=20, verbose_name='Год проведения')),
                ('image', models.ImageField(blank=True, max_length=200, null=True, upload_to=contests.models.PathAndRename('all_contests/'), verbose_name='Изображение')),
                ('author_name', models.CharField(blank=True, max_length=50, null=True, verbose_name='Авторское название')),
                ('format', models.CharField(blank=True, choices=[('A1', 'A1'), ('A2', 'A2'), ('A3', 'A3')], max_length=2, null=True, verbose_name='Формат работы')),
                ('description', models.TextField(blank=True, max_length=500, null=True, verbose_name='Аннотация')),
                ('program', models.CharField(blank=True, max_length=100, null=True, verbose_name='Программа(ы), в которой выполнена работа')),
                ('link', models.CharField(blank=True, max_length=200, null=True, verbose_name='Ссылка на файл (облако)')),
                ('Participants', models.CharField(blank=True, max_length=500, null=True, verbose_name='Участники')),
                ('TeacherExtra', models.CharField(blank=True, max_length=300, null=True, verbose_name='Педагоги доп.')),
                ('age', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contests.age', verbose_name='Возраст')),
                ('district', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='users.district', verbose_name='Округ')),
                ('level', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contests.level', verbose_name='Класс')),
                ('material', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contests.material', verbose_name='Материал')),
                ('nomination', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contests.nomination', verbose_name='Номинация')),
                ('region', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='users.region', verbose_name='Регион')),
                ('status', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='contests.status', verbose_name='Статус')),
                ('teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
                ('theme', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contests.themeart', verbose_name='Тема')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
Beispiel #2
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Age',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=10,
                                          verbose_name='Возраст')),
            ],
            options={
                'verbose_name': 'Возраст',
                'verbose_name_plural': 'Возраст',
            },
        ),
        migrations.CreateModel(
            name='Level',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=10,
                                          verbose_name='Класс')),
            ],
            options={
                'verbose_name': 'Класс',
                'verbose_name_plural': 'Класс',
            },
        ),
        migrations.CreateModel(
            name='Material',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='Материал')),
            ],
            options={
                'verbose_name': 'Материал',
                'verbose_name_plural': 'Материал',
            },
        ),
        migrations.CreateModel(
            name='Message',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(blank=True,
                                  max_length=100,
                                  verbose_name='Заголовок')),
                ('content',
                 ckeditor.fields.RichTextField(verbose_name='Контент')),
            ],
            options={
                'verbose_name': 'Сообщение',
                'verbose_name_plural': 'Сообщения',
            },
        ),
        migrations.CreateModel(
            name='Mymoskvichi',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('reg_number',
                 models.CharField(max_length=20,
                                  unique=True,
                                  verbose_name='Регистрационный номер')),
                ('barcode',
                 models.CharField(max_length=15, verbose_name='Штрих-код')),
                ('fio',
                 models.CharField(max_length=300, verbose_name='Участник')),
                ('fio_teacher',
                 models.CharField(max_length=300, verbose_name='Педагог')),
                ('school',
                 models.CharField(max_length=150,
                                  verbose_name='Образовательная организация')),
                ('city',
                 models.CharField(blank=True,
                                  max_length=101,
                                  verbose_name='Город')),
                ('year_contest',
                 models.CharField(default='2020-2021 год',
                                  max_length=20,
                                  verbose_name='Год проведения')),
                ('date_reg', models.DateTimeField(auto_now=True)),
                ('nomination',
                 models.CharField(max_length=50, verbose_name='Номинация')),
                ('nomination_extra',
                 models.CharField(max_length=50,
                                  verbose_name='Доп.номинация')),
                ('author_name',
                 models.CharField(max_length=50,
                                  verbose_name='Авторское название')),
                ('program',
                 models.CharField(
                     max_length=100,
                     null=True,
                     verbose_name='Программа(ы), в которой выполнена работа')),
                ('age',
                 models.CharField(max_length=50,
                                  null=True,
                                  verbose_name='Возрастная категория')),
                ('link',
                 models.CharField(blank=True,
                                  max_length=200,
                                  null=True,
                                  verbose_name='Ссылка на файл (облако)')),
                ('district',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='users.district',
                                   verbose_name='Округ')),
                ('region',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='users.region',
                                   verbose_name='Регион')),
            ],
            options={
                'verbose_name': 'Конкурс Мы Москвичи (участники)',
                'verbose_name_plural': 'Конкурс Мы Москвичи (участники)',
            },
        ),
        migrations.CreateModel(
            name='MymoskvichiSelect',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('field',
                 models.CharField(choices=[('nomination', 'Номинация'),
                                           ('age', 'Возраст'),
                                           ('theme', 'Тема')],
                                  max_length=20,
                                  verbose_name='Название поля')),
                ('data', models.CharField(max_length=255,
                                          verbose_name='Данные')),
            ],
            options={
                'verbose_name': 'Список (Мы Москвичи)',
                'verbose_name_plural': 'Списки (Мы Москвичи)',
            },
        ),
        migrations.CreateModel(
            name='Nomination',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='Номинация')),
            ],
            options={
                'verbose_name': 'Номинация',
                'verbose_name_plural': 'Номинация',
            },
        ),
        migrations.CreateModel(
            name='PageContest',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='Название конкурса')),
                ('logo',
                 models.ImageField(
                     upload_to=contests.models.PathAndRename('PageContests/'),
                     verbose_name='Логотип')),
                ('content',
                 ckeditor.fields.RichTextField(verbose_name='Контент')),
            ],
            options={
                'verbose_name': 'Страница конкурса',
                'verbose_name_plural': 'Страницы конкурсов',
            },
        ),
        migrations.CreateModel(
            name='Status',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(blank=True,
                                  max_length=35,
                                  verbose_name='Статус')),
            ],
            options={
                'verbose_name': 'Статус',
                'verbose_name_plural': 'Статус',
            },
        ),
        migrations.CreateModel(
            name='Theme',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=60, verbose_name='Тема')),
            ],
            options={
                'verbose_name': 'Тема',
                'verbose_name_plural': 'Темы',
            },
        ),
        migrations.CreateModel(
            name='TeacherExtra',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('fio', models.CharField(max_length=50, verbose_name='ФИО')),
                ('participants',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='contests.mymoskvichi',
                                   verbose_name='Педагог')),
            ],
            options={
                'verbose_name': 'Педагог',
                'verbose_name_plural': 'Педагоги',
            },
        ),
        migrations.CreateModel(
            name='Participant',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('fio',
                 models.CharField(max_length=50, verbose_name='Фамилия, имя')),
                ('participants',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='contests.mymoskvichi',
                                   verbose_name='Участники')),
            ],
            options={
                'verbose_name': 'Участник',
                'verbose_name_plural': 'Участники',
            },
        ),
        migrations.CreateModel(
            name='NRusheva',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('reg_number',
                 models.CharField(max_length=20,
                                  unique=True,
                                  verbose_name='Регистрационный номер')),
                ('barcode',
                 models.CharField(max_length=15, verbose_name='Штрих-код')),
                ('fio',
                 models.CharField(max_length=300, verbose_name='Участник')),
                ('fio_teacher',
                 models.CharField(max_length=300, verbose_name='Педагог')),
                ('school',
                 models.CharField(max_length=150,
                                  verbose_name='Образовательная организация')),
                ('city',
                 models.CharField(blank=True,
                                  max_length=101,
                                  verbose_name='Город')),
                ('year_contest',
                 models.CharField(default='2020-2021 год',
                                  max_length=20,
                                  verbose_name='Год проведения')),
                ('date_reg', models.DateTimeField(auto_now=True)),
                ('image',
                 models.ImageField(
                     upload_to=contests.models.PathAndRename('nrusheva/'),
                     verbose_name='Изображение')),
                ('author_name',
                 models.CharField(max_length=50,
                                  verbose_name='Авторское название')),
                ('format',
                 models.CharField(choices=[('A1', 'A1'), ('A2', 'A2'),
                                           ('A3', 'A3')],
                                  max_length=2,
                                  verbose_name='Формат работы')),
                ('description',
                 models.TextField(max_length=500, verbose_name='Аннотация')),
                ('age',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.age',
                     verbose_name='Возраст')),
                ('district',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='users.district',
                                   verbose_name='Округ')),
                ('level',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.level',
                     verbose_name='Класс')),
                ('material',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.material',
                     verbose_name='Материал')),
                ('region',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='users.region',
                                   verbose_name='Регион')),
                ('status',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='contests.status',
                                   verbose_name='Статус')),
                ('teacher',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('theme',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.theme',
                     verbose_name='Тема')),
            ],
            options={
                'verbose_name': 'Конкурс им. Нади Рушевой (участник)',
                'verbose_name_plural': 'Конкурс им. Нади Рушевой (участники)',
            },
        ),
        migrations.AddField(
            model_name='mymoskvichi',
            name='status',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                to='contests.status',
                verbose_name='Статус'),
        ),
        migrations.AddField(
            model_name='mymoskvichi',
            name='teacher',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.CreateModel(
            name='Artakiada',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('reg_number',
                 models.CharField(max_length=20,
                                  unique=True,
                                  verbose_name='Регистрационный номер')),
                ('barcode',
                 models.CharField(max_length=15, verbose_name='Штрих-код')),
                ('fio',
                 models.CharField(max_length=300, verbose_name='Участник')),
                ('fio_teacher',
                 models.CharField(max_length=300, verbose_name='Педагог')),
                ('school',
                 models.CharField(max_length=150,
                                  verbose_name='Образовательная организация')),
                ('city',
                 models.CharField(blank=True,
                                  max_length=101,
                                  verbose_name='Город')),
                ('year_contest',
                 models.CharField(default='2020-2021 год',
                                  max_length=20,
                                  verbose_name='Год проведения')),
                ('date_reg', models.DateTimeField(auto_now=True)),
                ('image',
                 models.ImageField(
                     upload_to=contests.models.PathAndRename('artakiada/'),
                     verbose_name='Изображение')),
                ('district',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='users.district',
                                   verbose_name='Округ')),
                ('level',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.level',
                     verbose_name='Класс')),
                ('material',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.material',
                     verbose_name='Материал')),
                ('nomination',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='contests.nomination',
                     verbose_name='Номинация')),
                ('region',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='users.region',
                                   verbose_name='Регион')),
                ('status',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.PROTECT,
                                   to='contests.status',
                                   verbose_name='Статус')),
                ('teacher',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'АРТакиада (участник)',
                'verbose_name_plural': 'АРТакиада (участники)',
            },
        ),
    ]
Beispiel #3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contest_categories', '0001_migrations'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='ContestsModel',
            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)),
                ('contest_name', models.CharField(blank=True, max_length=150, null=True)),
                ('contest_internal_name', models.CharField(blank=True, max_length=150, null=True)),
                ('start_time', models.TimeField()),
                ('end_time', models.TimeField()),
                ('start_date', models.DateField(auto_now=True)),
                ('end_date', models.DateField(auto_now=True)),
                ('brand_name', models.CharField(blank=True, max_length=150, null=True)),
                ('prize_money', models.IntegerField(blank=True, null=True)),
                ('logo', models.ImageField(null=True, upload_to=contests.models.logo_directory)),
                ('gift_card', models.FileField(blank=True, null=True, upload_to=contests.models.gift_card_directory, verbose_name='Upload gift card')),
                ('qualification_eligibility', models.IntegerField(blank=True, null=True)),
                ('description', models.TextField(blank=True, null=True)),
                ('terms_and_conditions', models.TextField(blank=True, null=True)),
                ('ad_video', models.FileField(blank=True, null=True, upload_to=contests.models.ad_video_directory, verbose_name='Upload ad video')),
                ('cpm_daily_max_spend', models.IntegerField(blank=True, null=True)),
                ('cpc_ad_description', models.TextField(blank=True, null=True)),
                ('ad_url', models.TextField(blank=True, null=True)),
                ('cpc_daily_max_spend', models.IntegerField(blank=True, null=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'contests',
            },
        ),
        migrations.CreateModel(
            name='ContestPrize',
            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)),
                ('prize_range_type', models.IntegerField(choices=[(1, 'single'), (2, 'range')])),
                ('rank', models.IntegerField(blank=True, default=0, null=True)),
                ('from_range', models.IntegerField(blank=True, default=0, null=True)),
                ('to_range', models.IntegerField(blank=True, default=0, null=True)),
                ('prize_type', models.IntegerField(choices=[(1, 'membership'), (2, 'product_service')])),
                ('contest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contests.ContestsModel')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ContestCategory',
            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)),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contest_categories.ContestSubCategory')),
                ('contest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contests.ContestsModel')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
Beispiel #4
0
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')),
                ('name',
                 models.CharField(
                     max_length=255,
                     validators=[
                         django.core.validators.MinLengthValidator(4),
                         django.core.validators.MaxLengthValidator(255)
                     ])),
                ('short_id',
                 models.CharField(
                     max_length=255,
                     unique=True,
                     validators=[
                         django.core.validators.RegexValidator(
                             re.compile('^[-a-zA-Z0-9_]+\\Z'),
                             "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.",
                             'invalid'),
                         django.core.validators.MinLengthValidator(4),
                         django.core.validators.MaxLengthValidator(255)
                     ])),
                ('short_description',
                 models.CharField(
                     max_length=255,
                     validators=[
                         django.core.validators.MinLengthValidator(4),
                         django.core.validators.MaxLengthValidator(255)
                     ])),
                ('description',
                 models.TextField(validators=[
                     django.core.validators.MaxLengthValidator(4194304)
                 ])),
                ('start_time', models.DateTimeField()),
                ('freezed', models.BooleanField()),
                ('finish_time', models.DateTimeField()),
            ],
        ),
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('extensions', models.CharField(max_length=255)),
            ],
        ),
        migrations.CreateModel(
            name='Permission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('code', models.CharField(max_length=32, unique=True)),
                ('description',
                 models.TextField(validators=[
                     django.core.validators.MaxLengthValidator(1024)
                 ])),
            ],
        ),
        migrations.CreateModel(
            name='Problem',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('short_id',
                 models.CharField(
                     max_length=255,
                     validators=[
                         django.core.validators.RegexValidator(
                             re.compile('^[-a-zA-Z0-9_]+\\Z'),
                             "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.",
                             'invalid'),
                         django.core.validators.MinLengthValidator(1),
                         django.core.validators.MaxLengthValidator(255)
                     ])),
                ('name',
                 models.CharField(
                     max_length=255,
                     validators=[
                         django.core.validators.MinLengthValidator(1),
                         django.core.validators.MaxLengthValidator(255)
                     ])),
                ('statement',
                 models.TextField(validators=[
                     django.core.validators.MaxLengthValidator(4194304)
                 ])),
                ('disabled', models.BooleanField()),
                ('order', models.IntegerField()),
                ('time_limit', models.IntegerField()),
                ('tolerance', models.FloatField()),
                ('memory_limit', models.IntegerField()),
                ('output_limit', models.IntegerField()),
                ('checker_source',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=contests.models.checker_upload_path)),
                ('solution_source',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=contests.models.solution_upload_path)),
                ('tcgen_source',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=contests.models.tcgen_upload_path)),
                ('checker_language',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='checkers',
                     to='contests.Language')),
                ('contest',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='problems',
                                   to='contests.Contest')),
                ('solution_language',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='solutions',
                     to='contests.Language')),
                ('tcgen_language',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='tcgen',
                     to='contests.Language')),
            ],
        ),
        migrations.CreateModel(
            name='Submission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('solution_source',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=contests.models.submission_upload_path)),
                ('issued_time', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(
                     blank=True,
                     default=None,
                     max_length=255,
                     null=True,
                     validators=[
                         django.core.validators.MinLengthValidator(4),
                         django.core.validators.MaxLengthValidator(255)
                     ],
                     verbose_name='name')),
                ('username',
                 models.CharField(
                     blank=True,
                     default=None,
                     max_length=64,
                     null=True,
                     validators=[
                         django.core.validators.RegexValidator(
                             re.compile('^[-a-zA-Z0-9_]+\\Z'),
                             "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.",
                             'invalid'),
                         django.core.validators.MinLengthValidator(4),
                         django.core.validators.MaxLengthValidator(64)
                     ],
                     verbose_name='username')),
                ('email',
                 models.EmailField(
                     max_length=255,
                     validators=[
                         django.core.validators.EmailValidator(),
                         django.core.validators.MinLengthValidator(4),
                         django.core.validators.MaxLengthValidator(255)
                     ],
                     verbose_name='email')),
                ('password',
                 models.CharField(blank=True,
                                  default=None,
                                  max_length=255,
                                  null=True)),
                ('signup_otc',
                 models.CharField(blank=True,
                                  default=None,
                                  max_length=32,
                                  null=True)),
                ('reset_password_otc',
                 models.CharField(blank=True,
                                  default=None,
                                  max_length=32,
                                  null=True)),
                ('contest',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='members',
                                   to='contests.Contest')),
                ('permissions',
                 models.ManyToManyField(to='contests.Permission')),
            ],
        ),
        migrations.AddField(
            model_name='submission',
            name='issuer',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='contests.User'),
        ),
        migrations.AddField(
            model_name='submission',
            name='problem',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='contests.Problem'),
        ),
        migrations.AddField(
            model_name='submission',
            name='solution_language',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='submissions',
                to='contests.Language'),
        ),
        migrations.AddField(
            model_name='contest',
            name='permitted_languages',
            field=models.ManyToManyField(to='contests.Language'),
        ),
        migrations.AlterUniqueTogether(
            name='user',
            unique_together={('username', 'contest'), ('email', 'contest')},
        ),
        migrations.AlterUniqueTogether(
            name='problem',
            unique_together={('short_id', 'contest')},
        ),
    ]
Beispiel #5
0
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('contests', '0012_auto_20170127_1347'),
    ]

    operations = [
        migrations.CreateModel(
            name='ContestAccount',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(blank=True,
                                  max_length=100,
                                  verbose_name='队伍名')),
                ('accept_count',
                 models.IntegerField(default=0, verbose_name='通过题数')),
                ('submit_count',
                 models.IntegerField(default=0, verbose_name='提交次数')),
                ('penalty', models.IntegerField(default=0, verbose_name='罚时')),
            ],
            options={
                'ordering': ('contest', 'user'),
                'verbose_name_plural': '比赛账号',
                'verbose_name': '比赛账号',
            },
        ),
        migrations.CreateModel(
            name='ContestStatistic',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('accept_count', models.IntegerField(default=0)),
                ('submit_count', models.IntegerField(default=0)),
                ('accept_time', models.IntegerField(default=0)),
                ('account',
                 models.ForeignKey(on_delete=models.SET(
                     contests.models.get_sentinel_user),
                                   related_name='statistic',
                                   to='contests.ContestAccount')),
            ],
            options={
                'verbose_name_plural': '比赛数据',
                'verbose_name': '比赛数据',
            },
        ),
        migrations.RemoveField(
            model_name='contest',
            name='participants',
        ),
        migrations.AddField(
            model_name='conteststatistic',
            name='contest',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='statistic',
                to='contests.Contest'),
        ),
        migrations.AddField(
            model_name='conteststatistic',
            name='problem',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='statistic',
                to='contests.ContestProblem'),
        ),
        migrations.AddField(
            model_name='contestaccount',
            name='contest',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='participants',
                to='contests.Contest'),
        ),
        migrations.AddField(
            model_name='contestaccount',
            name='user',
            field=models.ForeignKey(on_delete=models.SET(
                contests.models.get_sentinel_user),
                                    related_name='contest_account',
                                    to=settings.AUTH_USER_MODEL),
        ),
        migrations.AlterUniqueTogether(
            name='conteststatistic',
            unique_together=set([('contest', 'account', 'problem')]),
        ),
        migrations.AlterUniqueTogether(
            name='contestaccount',
            unique_together=set([('user', 'contest')]),
        ),
    ]