# Generated by Django 4.2.11 on 2026-04-10 12:05 from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='ModeratorApplication', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('application_reason', models.TextField(blank=True, verbose_name='申请理由')), ('support_count', models.PositiveIntegerField(default=0, verbose_name='支持人数')), ('required_support', models.PositiveIntegerField(default=10, verbose_name='所需支持人数')), ('deadline', models.DateTimeField(verbose_name='截止时间')), ('status', models.CharField(choices=[('pending', '待审核'), ('approved', '已通过'), ('rejected', '已拒绝'), ('cancelled', '已取消')], default='pending', max_length=20, verbose_name='状态')), ('reviewed_at', models.DateTimeField(blank=True, null=True, verbose_name='审核时间')), ('review_comment', models.TextField(blank=True, verbose_name='审核意见')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='申请时间')), ], options={ 'verbose_name': '版主申请', 'verbose_name_plural': '版主申请', 'ordering': ['-created_at'], }, ), migrations.CreateModel( name='ModeratorPermission', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('rank', models.CharField(choices=[('general', '将军'), ('colonel', '校官'), ('lieutenant', '尉官'), ('soldier', '士兵')], max_length=20, verbose_name='军衔')), ('status', models.CharField(choices=[('active', '正常'), ('restricted', '限制'), ('revoked', '取消')], default='active', max_length=20, verbose_name='状态')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='授权时间')), ('restricted_until', models.DateTimeField(blank=True, null=True, verbose_name='限制截止时间')), ], options={ 'verbose_name': '版主权限', 'verbose_name_plural': '版主权限', }, ), migrations.CreateModel( name='ModeratorSupport', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='支持时间')), ], options={ 'verbose_name': '支持记录', 'verbose_name_plural': '支持记录', }, ), migrations.CreateModel( name='PermissionRestriction', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('restriction_type', models.CharField(choices=[('partial', '部分限制'), ('full', '完全限制')], max_length=20, verbose_name='限制类型')), ('started_at', models.DateTimeField(auto_now_add=True, verbose_name='限制开始时间')), ('ended_at', models.DateTimeField(blank=True, null=True, verbose_name='限制结束时间')), ('reason', models.TextField(blank=True, verbose_name='限制原因')), ], options={ 'verbose_name': '权限限制', 'verbose_name_plural': '权限限制', 'ordering': ['-started_at'], }, ), migrations.CreateModel( name='Region', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='名称')), ('level', models.CharField(choices=[('province', '省级'), ('city', '市级'), ('county', '县级'), ('town', '镇级'), ('village', '村级')], max_length=20, verbose_name='级别')), ('code', models.CharField(blank=True, max_length=20, verbose_name='行政区划代码')), ('description', 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='更新时间')), ('is_active', models.BooleanField(default=True, verbose_name='是否启用')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='regions.region', verbose_name='上级区域')), ], options={ 'verbose_name': '区域', 'verbose_name_plural': '区域', 'ordering': ['level', 'name'], }, ), ]