|
|
|
|
@ -1,38 +1,37 @@
|
|
|
|
|
# Generated by Django 4.1.7 on 2023-03-02 07:14
|
|
|
|
|
from django.conf import settings # 导入Django项目配置,用于获取用户模型等设置
|
|
|
|
|
from django.db import migrations, models # 导入迁移和模型模块,用于定义数据库迁移操作
|
|
|
|
|
import django.db.models.deletion # 导入外键删除行为处理模块,定义外键删除策略
|
|
|
|
|
import django.utils.timezone # 导入时区工具,处理时间字段默认值
|
|
|
|
|
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
from django.db import migrations, models
|
|
|
|
|
import django.db.models.deletion
|
|
|
|
|
import django.utils.timezone
|
|
|
|
|
|
|
|
|
|
class Migration(migrations.Migration): # 定义迁移类,包含数据库迁移操作
|
|
|
|
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
|
initial = True # 标记为初始迁移(该模型的首次迁移)
|
|
|
|
|
|
|
|
|
|
initial = True
|
|
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
|
('blog', '0001_initial'),
|
|
|
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
|
|
|
dependencies = [ # 迁移依赖:执行当前迁移前需完成的迁移
|
|
|
|
|
('blog', '0001_initial'), # 依赖blog应用的0001_initial迁移(确保Article模型存在)
|
|
|
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL), # 依赖用户模型的可交换迁移(支持自定义用户模型)
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
operations = [
|
|
|
|
|
migrations.CreateModel(
|
|
|
|
|
name='Comment',
|
|
|
|
|
fields=[
|
|
|
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
|
|
('body', models.TextField(max_length=300, verbose_name='正文')),
|
|
|
|
|
('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')),
|
|
|
|
|
('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')),
|
|
|
|
|
('is_enable', models.BooleanField(default=True, verbose_name='是否显示')),
|
|
|
|
|
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.article', verbose_name='文章')),
|
|
|
|
|
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')),
|
|
|
|
|
('parent_comment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.comment', verbose_name='上级评论')),
|
|
|
|
|
operations = [ # 迁移操作列表:当前迁移需执行的数据库操作
|
|
|
|
|
migrations.CreateModel( # 创建Comment模型(对应数据库表)
|
|
|
|
|
name='Comment', # 模型名称为Comment(评论模型)
|
|
|
|
|
fields=[ # 模型字段定义
|
|
|
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), # 自增主键,自动创建,作为表的唯一标识
|
|
|
|
|
('body', models.TextField(max_length=300, verbose_name='正文')), # 评论正文字段,文本类型,最大300字符
|
|
|
|
|
('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), # 创建时间字段,默认值为当前时间
|
|
|
|
|
('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), # 最后修改时间字段,默认值为当前时间
|
|
|
|
|
('is_enable', models.BooleanField(default=True, verbose_name='是否显示')), # 评论显示开关,默认显示(True)
|
|
|
|
|
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.article', verbose_name='文章')), # 外键关联Article,级联删除(文章删则评论删)
|
|
|
|
|
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')), # 外键关联用户模型,级联删除(用户删则评论删)
|
|
|
|
|
('parent_comment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.comment', verbose_name='上级评论')), # 自关联外键(支持评论回复),允许为空
|
|
|
|
|
],
|
|
|
|
|
options={
|
|
|
|
|
'verbose_name': '评论',
|
|
|
|
|
'verbose_name_plural': '评论',
|
|
|
|
|
'ordering': ['-id'],
|
|
|
|
|
'get_latest_by': 'id',
|
|
|
|
|
options={ # 模型元数据配置
|
|
|
|
|
'verbose_name': '评论', # 模型单数显示名称
|
|
|
|
|
'verbose_name_plural': '评论', # 模型复数显示名称
|
|
|
|
|
'ordering': ['-id'], # 默认排序:按id降序(最新评论在前)
|
|
|
|
|
'get_latest_by': 'id', # 获取最新记录时依据id字段
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
]
|