Files
server/base/migrations/0001_initial.py
T
ngfchl 777ca50328 update. 完成前端页面展示、列表和详情页
update. 调整融合主菜单与板块
update. 分离新闻模块
2026-04-01 14:17:03 +08:00

93 lines
5.3 KiB
Python

# 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'),
},
),
]