# Generated by Django 6.1 on 2026-08-31 04:57 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Requirement', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200, verbose_name='标题')), ('content', models.TextField(verbose_name='作业要求内容')), ('spec', models.JSONField(blank=True, default=dict, verbose_name='检测维度计划')), ('created_at', models.DateTimeField(auto_now_add=True)), ], options={ 'ordering': ['-created_at'], }, ), migrations.CreateModel( name='Submission', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200, verbose_name='提交名称')), ('file', models.FileField(upload_to='submissions/%Y%m/', verbose_name='项目包')), ('status', models.CharField(choices=[('pending', '待检测'), ('running', '检测中'), ('completed', '已完成'), ('failed', '检测失败')], default='pending', max_length=20, verbose_name='状态')), ('report', models.JSONField(blank=True, default=dict, verbose_name='检测报告')), ('created_at', models.DateTimeField(auto_now_add=True)), ('requirement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='requirements.requirement')), ('submitted_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='提交人')), ], options={ 'ordering': ['-created_at'], }, ), ]