# Generated by Django 6.0.3 on 2026-04-01 00:55 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='FooterLink', 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='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('title', models.CharField(max_length=50, verbose_name='页脚信息')), ('address', models.CharField(max_length=200, verbose_name='单位地址')), ('postal', models.CharField(default='', verbose_name='邮编')), ('telephone', models.CharField(default='', verbose_name='服务热线')), ('fax', models.CharField(default='', verbose_name='传真')), ('unit', models.CharField(default='', verbose_name='版权单位')), ('filing', models.CharField(default='', verbose_name='备案号')), ('official_account', models.ImageField(default='', upload_to='carousel/', verbose_name='公众号二维码')), ('weibo', models.ImageField(default='', upload_to='carousel/', verbose_name='微博二维码')), ('is_active', models.BooleanField(default=False, verbose_name='生效')), ], options={ 'verbose_name': '页脚信息', 'verbose_name_plural': '页脚管理', }, ), migrations.CreateModel( name='LinkCategory', 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='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('name', models.CharField(max_length=50, unique=True, verbose_name='分类名称')), ('code', models.SlugField(help_text="用于前端模板调用的标识,如 'gov', 'fire'", unique=True, verbose_name='分类代码')), ('order', models.IntegerField(default=0, verbose_name='显示排序')), ('is_active', models.BooleanField(default=True, verbose_name='是否启用')), ], options={ 'verbose_name': '友链分类', 'verbose_name_plural': '友链分类管理', 'ordering': ['order'], }, ), migrations.CreateModel( name='FriendLink', 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='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('name', models.CharField(max_length=100, verbose_name='网站名称')), ('url', models.URLField(verbose_name='链接地址')), ('order', models.IntegerField(default=0, verbose_name='排序')), ('is_active', models.BooleanField(default=True, verbose_name='是否启用')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='base.linkcategory', verbose_name='所属分类')), ], options={ 'verbose_name': '友情链接', 'verbose_name_plural': '友情链接管理', 'ordering': ['order', '-created_at'], }, ), migrations.CreateModel( name='MainMenu', 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='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('title', models.CharField(max_length=100, verbose_name='标题')), ('code', models.SlugField(help_text='用于URL或模板识别,建议英文', unique=True, verbose_name='唯一标识')), ('url', models.CharField(blank=True, help_text='如 /menu/news.html 或 外链', max_length=200, verbose_name='链接地址')), ('is_external', models.BooleanField(default=False, verbose_name='是否外链')), ('order', models.PositiveSmallIntegerField(default=0, verbose_name='排序权重')), ('visible', models.BooleanField(default=True, verbose_name='显示状态')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='base.mainmenu', verbose_name='父级节点')), ], options={ 'verbose_name': '站点导航/板块', 'verbose_name_plural': '站点结构管理', 'ordering': ('order', 'title'), }, ), ]