# Generated by Django 5.2.15 on 2026-07-08 08:15 import django.core.validators from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('portal', '0002_downloadrelease_force_update'), ] operations = [ migrations.CreateModel( name='ImportTemplate', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128, verbose_name='模板名称')), ('file', models.FileField(blank=True, upload_to='import_templates/', verbose_name='模板文件')), ('external_url', models.URLField(blank=True, verbose_name='外部下载地址')), ('sha256', models.CharField(blank=True, max_length=64, validators=[django.core.validators.RegexValidator(message='SHA256 必须是 64 位十六进制字符。', regex='^[A-Fa-f0-9]{64}$')], verbose_name='SHA256')), ('is_current', models.BooleanField(default=False, verbose_name='当前模板')), ('notes', models.TextField(blank=True, verbose_name='说明')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ], options={ 'verbose_name': '导入模板', 'verbose_name_plural': '导入模板', 'db_table': 'import_template', 'ordering': ('-is_current', '-created_at', '-id'), 'indexes': [models.Index(fields=['is_current'], name='it_current_idx')], }, ), ]