Пример #1
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='File',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('note', models.TextField()),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('slug', models.SlugField(blank=True, null=True, unique=True)),
                ('file', models.FileField(upload_to=data.models.upload_location)),
                ('user', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-timestamp'],
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('data', '0014_auto_20201029_1448'),
    ]

    operations = [
        migrations.CreateModel(
            name='DiagnosticCalibration',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('vinput', data.models.MyArrayField()),
                ('output', data.models.MyArrayField()),
                ('resolution', models.FloatField(blank=True, null=True)),
                ('temporalresolution', models.FloatField(blank=True,
                                                         null=True)),
                ('description', models.TextField()),
                ('date', models.DateTimeField(null=True)),
                ('expiration', models.DateField(null=True)),
                ('datasheet',
                 models.FileField(blank=True, null=True, upload_to='')),
            ],
        ),
        migrations.CreateModel(
            name='DiagnosticFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=150)),
                ('file', models.FileField(upload_to='')),
                ('type',
                 models.CharField(choices=[('DOC', 'Document'),
                                           ('IMG', 'Image'), ('VID', 'Video'),
                                           ('OTR', 'Other')],
                                  default='DOC',
                                  max_length=3)),
                ('description', models.TextField(blank=True, null=True)),
            ],
            options={
                'verbose_name_plural': 'diagnostic files',
            },
        ),
        migrations.CreateModel(
            name='DiagnosticSetup',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('date', models.DateTimeField(null=True)),
                ('expiration', models.DateField(blank=True, null=True)),
                ('description', models.TextField()),
                ('image', models.ImageField(null=True, upload_to='')),
            ],
        ),
        migrations.RemoveField(
            model_name='diagnostic',
            name='noise',
        ),
        migrations.RemoveField(
            model_name='diagnostic',
            name='resolution',
        ),
        migrations.AddField(
            model_name='diagnostic',
            name='datasheet',
            field=models.FileField(blank=True, null=True, upload_to=''),
        ),
        migrations.AddField(
            model_name='diagnosticsetup',
            name='diagnostic',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='data.Diagnostic'),
        ),
        migrations.AddField(
            model_name='diagnosticfile',
            name='diagnostic',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='data.Diagnostic'),
        ),
        migrations.AddField(
            model_name='diagnosticfile',
            name='run',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE, to='data.Run'),
        ),
        migrations.AddField(
            model_name='diagnosticcalibration',
            name='diagnostic',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='data.Diagnostic'),
        ),
        migrations.AddField(
            model_name='diagnosticcalibration',
            name='inputUnits',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE, to='data.Unit'),
        ),
    ]
Пример #3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('users', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Fahrzeug',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('farbe', models.CharField(max_length=8)),
                ('baujahr', models.IntegerField()),
                ('kaufdatum', models.DateField()),
                ('preis', models.IntegerField()),
                ('added_by',
                 models.ForeignKey(
                     default=data.models.get_default_user,
                     on_delete=django.db.models.deletion.SET_DEFAULT,
                     to='users.Profile')),
            ],
        ),
        migrations.CreateModel(
            name='Service',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('was', models.TextField()),
                ('wann', models.DateField()),
                ('prio',
                 models.CharField(choices=[('Reparatur', 'Reparatur'),
                                           ('Service', 'Service'),
                                           ('Pflege', 'Pflege'),
                                           ('Verbesserung', 'Verbesserung')],
                                  max_length=14)),
                ('km', models.IntegerField()),
                ('kostenpunkt', models.IntegerField()),
                ('added_by',
                 models.ForeignKey(
                     default=data.models.get_default_user,
                     on_delete=django.db.models.deletion.SET_DEFAULT,
                     to='users.Profile')),
                ('fahrzeug',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='data.Fahrzeug')),
            ],
        ),
        migrations.CreateModel(
            name='FahrzeugServiceProfil',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('fahrzeug',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='user_mit_service',
                                   to='data.Fahrzeug')),
                ('profile',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='fahrzeug_mit_service',
                                   to='users.Profile')),
                ('service',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='data.Service')),
            ],
        ),
        migrations.AddField(
            model_name='fahrzeug',
            name='owners',
            field=models.ManyToManyField(related_name='fahrzeuge',
                                         through='data.FahrzeugServiceProfil',
                                         to='users.Profile'),
        ),
    ]
Пример #4
0
class Migration(migrations.Migration):

    dependencies = [
        ("contenttypes", "0002_remove_content_type_name"),
        ("data", "0011_auto_20201013_1808"),
        ("common", "0009_auto_20201013_1917"),
    ]

    operations = [
        migrations.SeparateDatabaseAndState(
            state_operations=[
                migrations.CreateModel(
                    name="UnitConversion",
                    fields=[
                        (
                            "id",
                            models.AutoField(
                                auto_created=True,
                                primary_key=True,
                                serialize=False,
                                verbose_name="ID",
                            ),
                        ),
                        (
                            "from_unit",
                            models.CharField(
                                choices=[
                                    ("mL", "milliliter"),
                                    ("g", "gram"),
                                    ("pcs", "stuk"),
                                    ("el", "eetlepel"),
                                    ("tl", "theelepel"),
                                ],
                                default="g",
                                max_length=5,
                            ),
                        ),
                        ("scale", models.FloatField()),
                        (
                            "to_unit",
                            models.CharField(
                                choices=[
                                    ("mL", "milliliter"),
                                    ("g", "gram"),
                                    ("pcs", "stuk"),
                                    ("el", "eetlepel"),
                                    ("tl", "theelepel"),
                                ],
                                default="mL",
                                max_length=5,
                            ),
                        ),
                        ("object_id", models.IntegerField()),
                        (
                            "content_type",
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.CASCADE,
                                to="contenttypes.contenttype",
                            ),
                        ),
                    ],
                ),
                migrations.CreateModel(
                    name="ImageTag",
                    fields=[
                        (
                            "id",
                            models.AutoField(
                                auto_created=True,
                                primary_key=True,
                                serialize=False,
                                verbose_name="ID",
                            ),
                        ),
                        (
                            "image",
                            models.ImageField(
                                height_field="height",
                                upload_to=data.models.model_directory_path,
                                width_field="width",
                            ),
                        ),
                        (
                            "width",
                            models.IntegerField(blank=True,
                                                editable=False,
                                                null=True),
                        ),
                        (
                            "height",
                            models.IntegerField(blank=True,
                                                editable=False,
                                                null=True),
                        ),
                        ("name", models.CharField(blank=True, max_length=150)),
                        ("caption", models.TextField(blank=True)),
                        ("created_at",
                         models.DateTimeField(auto_now_add=True)),
                        ("updated_at", models.DateTimeField(auto_now=True)),
                        ("object_id", models.IntegerField(editable=False)),
                        (
                            "content_type",
                            models.ForeignKey(
                                editable=False,
                                on_delete=django.db.models.deletion.CASCADE,
                                to="contenttypes.contenttype",
                            ),
                        ),
                    ],
                ),
                migrations.CreateModel(
                    name="AlternateImageTag",
                    fields=[
                        (
                            "id",
                            models.AutoField(
                                auto_created=True,
                                primary_key=True,
                                serialize=False,
                                verbose_name="ID",
                            ),
                        ),
                        (
                            "image",
                            models.ImageField(
                                height_field="height",
                                upload_to="imagetags/alternates",
                                width_field="width",
                            ),
                        ),
                        (
                            "width",
                            models.IntegerField(blank=True,
                                                editable=False,
                                                null=True),
                        ),
                        (
                            "height",
                            models.IntegerField(blank=True,
                                                editable=False,
                                                null=True),
                        ),
                        (
                            "original",
                            models.ForeignKey(
                                editable=False,
                                on_delete=django.db.models.deletion.CASCADE,
                                related_name="alternates",
                                to="data.imagetag",
                            ),
                        ),
                    ],
                ),
                migrations.AddConstraint(
                    model_name="unitconversion",
                    constraint=models.UniqueConstraint(
                        fields=("object_id", "content_type", "from_unit",
                                "to_unit"),
                        name="unique_conversions",
                    ),
                ),
            ],
            database_operations=[
                migrations.RunPython(update_common_contentypes,
                                     update_common_contentypes_reverse)
            ],
        ),
    ]
Пример #5
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0009_alter_user_last_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     unique=True,
                     validators=[
                         django.contrib.auth.validators.
                         UnicodeUsernameValidator()
                     ],
                     verbose_name='username')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='last name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(auto_now_add=True, null=True)),
                ('bupt_id',
                 models.CharField(default=data.models.default_bupt_id,
                                  max_length=10,
                                  unique=True)),
                ('name', models.TextField(default='')),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('phone',
                 models.CharField(default=data.models.default_phone,
                                  max_length=11,
                                  unique=True)),
                ('gender',
                 models.CharField(choices=[('male', 'male'),
                                           ('female', 'female')],
                                  default='male',
                                  max_length=6)),
                ('usertype',
                 models.CharField(choices=[('student', 'student'),
                                           ('teacher', 'teacher'),
                                           ('assistant', 'assistant')],
                                  default='student',
                                  max_length=20)),
                ('class_number',
                 models.CharField(default='noClass', max_length=10)),
                ('wechat', models.TextField(null=True)),
                ('forgotten', models.BooleanField(default=False)),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='HWFAssignment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.TextField()),
                ('description', models.TextField(blank=True, null=True)),
                ('assignment_type',
                 models.CharField(choices=[('image', 'image'),
                                           ('docs', 'docs'), ('vary', 'vary')],
                                  default='vary',
                                  max_length=20)),
                ('start_time',
                 models.DateTimeField(default='2019-01-01T00:00:00+00:00')),
                ('deadline', models.DateTimeField()),
                ('weight', models.FloatField(default=0.0)),
            ],
        ),
        migrations.CreateModel(
            name='HWFCourseClass',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.TextField()),
                ('description', models.TextField(blank=True, null=True)),
                ('marks', models.FloatField(default=0.0)),
                ('school', models.TextField(blank=True, null=True)),
                ('start_time', models.DateTimeField(blank=True, null=True)),
                ('end_time', models.DateTimeField(blank=True, null=True)),
                ('students',
                 models.ManyToManyField(blank=True,
                                        related_name='students_course',
                                        to=settings.AUTH_USER_MODEL)),
                ('teachers',
                 models.ManyToManyField(blank=True,
                                        related_name='teachers_course',
                                        to=settings.AUTH_USER_MODEL)),
                ('teaching_assistants',
                 models.ManyToManyField(
                     blank=True,
                     related_name='teaching_assistants_course',
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='HWFFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('data', models.FileField(null=True,
                                          upload_to='homework_file')),
                ('initial_upload_time',
                 models.DateTimeField(auto_now_add=True)),
                ('initial_upload_user',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='HWFSubmission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('aware', models.BooleanField(default=True)),
                ('submit_time', models.DateTimeField(auto_now_add=True)),
                ('description', models.TextField(blank=True, null=True)),
                ('score', models.FloatField(default=0.0)),
                ('is_excellent', models.BooleanField(default=False)),
                ('addfile',
                 models.ManyToManyField(blank=True,
                                        related_name='addfile_submission',
                                        to='data.HWFFile')),
                ('assignment',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='assignment_submission',
                                   to='data.HWFAssignment')),
                ('image',
                 models.ManyToManyField(blank=True,
                                        related_name='image_submission',
                                        to='data.HWFFile')),
                ('pdf',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='pdf_submission',
                                   to='data.HWFFile')),
                ('submitter',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='my_submission',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Message',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('send_time', models.DateTimeField(auto_now_add=True)),
                ('read', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='MessageContent',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.TextField(max_length=2000)),
            ],
        ),
        migrations.CreateModel(
            name='MessageFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('data', models.FileField(null=True, upload_to='chat_file')),
                ('initial_upload_time',
                 models.DateTimeField(auto_now_add=True)),
                ('initial_upload_user',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='UserAvatar',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('url_height', models.PositiveIntegerField(default=75)),
                ('url_width', models.PositiveIntegerField(default=75)),
                ('useravatar',
                 models.ImageField(height_field='url_height',
                                   null=True,
                                   upload_to='avatars',
                                   width_field='url_width')),
                ('user',
                 models.ManyToManyField(related_name='useravatar',
                                        to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='messagecontent',
            name='addfile',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='file_message_content',
                to='data.MessageFile'),
        ),
        migrations.AddField(
            model_name='messagecontent',
            name='audio',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='audio_message_content',
                to='data.MessageFile'),
        ),
        migrations.AddField(
            model_name='messagecontent',
            name='picture',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='pic_message_content',
                to='data.MessageFile'),
        ),
        migrations.AddField(
            model_name='message',
            name='content',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='complete_message',
                to='data.MessageContent'),
        ),
        migrations.AddField(
            model_name='message',
            name='receiver',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='in_message',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='message',
            name='sender',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='out_message',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='hwfassignment',
            name='addfile',
            field=models.ManyToManyField(blank=True,
                                         related_name='assignment',
                                         to='data.HWFFile'),
        ),
        migrations.AddField(
            model_name='hwfassignment',
            name='course_class',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='course_assignments',
                to='data.HWFCourseClass'),
        ),
    ]
Пример #6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('aplus_client', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Comparison',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('similarity', models.FloatField(default=0.0)),
                ('matches_json',
                 models.TextField(blank=True, default=None, null=True)),
                ('review',
                 models.IntegerField(choices=[(-10, 'False alert'),
                                              (0, 'Unspecified match'),
                                              (5, 'Suspicious match'),
                                              (10, 'Plagiate'),
                                              (1, 'Approved plagiate')],
                                     default=0)),
            ],
            options={
                'ordering': ['-similarity'],
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('api_id', models.IntegerField()),
                ('url', models.URLField()),
                ('updated', models.DateTimeField(auto_now=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('key',
                 data.models.URLKeyField(
                     help_text='Unique alphanumeric course instance id',
                     max_length=64,
                     unique=True)),
                ('name',
                 models.CharField(help_text='Descriptive course name',
                                  max_length=128)),
                ('provider',
                 models.CharField(choices=[('a+', 'A+'),
                                           ('filesystem', 'File system')],
                                  default='a+',
                                  help_text='Provider for submission data',
                                  max_length=16)),
                ('tokenizer',
                 models.CharField(
                     choices=[('skip', 'Skip'), ('scala', 'Scala'),
                              ('python', 'Python')],
                     default='skip',
                     help_text='Tokenizer for the submission contents',
                     max_length=16)),
                ('minimum_match_tokens',
                 models.IntegerField(
                     default=15,
                     help_text='Minimum number of tokens to consider a match')
                 ),
                ('archived', models.BooleanField(db_index=True,
                                                 default=False)),
                ('namespace',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='aplus_client.ApiNamespace')),
                ('reviewers',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Reviewers for match analysis',
                     related_name='courses',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-created'],
            },
        ),
        migrations.CreateModel(
            name='Exercise',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('key',
                 data.models.URLKeyField(help_text='Alphanumeric exercise id',
                                         max_length=64)),
                ('name',
                 models.CharField(default='unknown',
                                  help_text='Descriptive exercise name',
                                  max_length=128)),
                ('override_tokenizer',
                 models.CharField(blank=True,
                                  choices=[('skip', 'Skip'),
                                           ('scala', 'Scala'),
                                           ('python', 'Python')],
                                  max_length=8,
                                  null=True)),
                ('override_minimum_match_tokens',
                 models.IntegerField(blank=True, null=True)),
                ('template_tokens', models.TextField(blank=True, default='')),
                ('paused', models.BooleanField(default=False)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='exercises',
                                   to='data.Course')),
            ],
            options={
                'ordering': ['course', 'name', 'created'],
            },
        ),
        migrations.CreateModel(
            name='ProviderQueue',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('data', models.CharField(max_length=128)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='+',
                                   to='data.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Student',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('key',
                 data.models.URLKeyField(help_text='Alphanumeric student id',
                                         max_length=64)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='students',
                                   to='data.Course')),
            ],
            options={
                'ordering': ['course', 'key'],
            },
        ),
        migrations.CreateModel(
            name='Submission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('provider_url',
                 models.CharField(blank=True,
                                  default=None,
                                  max_length=256,
                                  null=True)),
                ('grade', models.FloatField(default=0.0)),
                ('tokens', models.TextField(blank=True,
                                            default=None,
                                            null=True)),
                ('indexes_json',
                 models.TextField(blank=True, default=None, null=True)),
                ('authored_token_count',
                 models.IntegerField(blank=True, default=None, null=True)),
                ('longest_authored_tile',
                 models.IntegerField(blank=True, default=None, null=True)),
                ('max_similarity',
                 models.FloatField(blank=True,
                                   db_index=True,
                                   default=None,
                                   null=True)),
                ('exercise',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='submissions',
                                   to='data.Exercise')),
                ('student',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='submissions',
                                   to='data.Student')),
            ],
        ),
        migrations.AddField(
            model_name='comparison',
            name='submission_a',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='+',
                to='data.Submission'),
        ),
        migrations.AddField(
            model_name='comparison',
            name='submission_b',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='+',
                to='data.Submission'),
        ),
        migrations.AlterUniqueTogether(
            name='student',
            unique_together=set([('course', 'key')]),
        ),
        migrations.AlterUniqueTogether(
            name='exercise',
            unique_together=set([('course', 'key')]),
        ),
        migrations.AlterUniqueTogether(
            name='comparison',
            unique_together=set([('submission_a', 'submission_b')]),
        ),
    ]
Пример #7
0
class Migration(migrations.Migration):
    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Project',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=255,
                                  unique=True,
                                  verbose_name='英文简称')),
                ('fullDisplayName',
                 models.CharField(db_index=True,
                                  max_length=255,
                                  verbose_name='中文全称')),
                ('description',
                 models.TextField(blank=True, null=True, verbose_name='描述')),
                ('url',
                 models.URLField(max_length=255,
                                 unique=True,
                                 verbose_name='URL地址')),
                ('config_xml',
                 models.FileField(upload_to=data.models.project_filepath,
                                  verbose_name='config.xml')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
            ],
            options={
                'verbose_name': '项目',
                'verbose_name_plural': '项目',
                'ordering': ('name', 'created_at'),
            },
        ),
        migrations.CreateModel(
            name='Job',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(db_index=True,
                                  max_length=255,
                                  verbose_name='Job名')),
                ('fullDisplayName',
                 models.CharField(db_index=True,
                                  max_length=255,
                                  verbose_name='中文全称')),
                ('description',
                 models.TextField(blank=True, null=True, verbose_name='描述')),
                ('url',
                 models.URLField(max_length=255,
                                 unique=True,
                                 verbose_name='URL地址')),
                ('config_xml',
                 models.FileField(upload_to=data.models.job_filepath,
                                  verbose_name='config.xml')),
                ('env',
                 models.CharField(default='all',
                                  max_length=255,
                                  verbose_name='环境(组)')),
                ('nextBuildNumber',
                 models.PositiveIntegerField(verbose_name='下次构建ID')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('project',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='job_project',
                                   to='data.Project',
                                   verbose_name='所属项目')),
            ],
            options={
                'verbose_name': 'Job',
                'verbose_name_plural': 'Job',
                'ordering': ('name', 'created_at'),
                'unique_together': {('project', 'name')},
            },
        ),
        migrations.CreateModel(
            name='Build',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('build_id', models.PositiveIntegerField(verbose_name='构建ID')),
                ('url',
                 models.URLField(max_length=255,
                                 unique=True,
                                 verbose_name='URL地址')),
                ('result',
                 models.CharField(choices=[(0, 'SUCCESS'), (1, 'FAILED')],
                                  max_length=1,
                                  verbose_name='执行结果')),
                ('fullDisplayName',
                 models.CharField(db_index=True,
                                  max_length=255,
                                  verbose_name='中文全称')),
                ('description',
                 models.TextField(blank=True, null=True, verbose_name='描述')),
                ('start_time', models.DateTimeField(verbose_name='开始时间')),
                ('duration',
                 models.PositiveSmallIntegerField(verbose_name='构建时长')),
                ('consoleText',
                 models.FileField(upload_to=data.models.build_filepath,
                                  verbose_name='构建console信息')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('job',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='build_job',
                                   to='data.Job',
                                   verbose_name='所属Job')),
            ],
            options={
                'verbose_name': '构建',
                'verbose_name_plural': '构建',
                'ordering': ('build_id', 'created_at'),
                'unique_together': {('job', 'build_id')},
            },
        ),
        migrations.CreateModel(
            name='JobParameter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='参数名')),
                ('type', models.CharField(max_length=255,
                                          verbose_name='参数类型')),
                ('value',
                 models.CharField(blank=True,
                                  max_length=255,
                                  null=True,
                                  verbose_name='参数值')),
                ('description',
                 models.TextField(blank=True, null=True, verbose_name='描述')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('job',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='parameter_job',
                                   to='data.Job',
                                   verbose_name='所属Job')),
            ],
            options={
                'verbose_name': 'Job参数',
                'verbose_name_plural': 'Job参数',
                'ordering': ('name', 'created_at'),
                'unique_together': {('job', 'name')},
            },
        ),
        migrations.CreateModel(
            name='BuildParameter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='参数名')),
                ('value',
                 models.CharField(blank=True,
                                  max_length=255,
                                  null=True,
                                  verbose_name='参数值')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      db_index=True,
                                      verbose_name='创建时间')),
                ('updated_at',
                 models.DateTimeField(auto_now=True, verbose_name='更新时间')),
                ('build',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='parameter_build',
                                   to='data.Build',
                                   verbose_name='所属构建')),
            ],
            options={
                'verbose_name': '构建参数',
                'verbose_name_plural': '构建参数',
                'ordering': ('name', 'created_at'),
                'unique_together': {('build', 'name')},
            },
        ),
    ]