|
|
# Generated by Django 4.1.7 on 2023-03-02 07:14
|
|
|
|
|
|
from django.conf import settings
|
|
|
from django.db import migrations, models
|
|
|
import django.db.models.deletion
|
|
|
import django.utils.timezone
|
|
|
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
|
|
# 表示这是该 app 的第一个迁移文件
|
|
|
initial = True
|
|
|
|
|
|
dependencies = [
|
|
|
# 依赖 blog 应用的第一条迁移文件,确保 Article 模型已经被创建
|
|
|
('blog', '0001_initial'),
|
|
|
# 依赖 Django 的用户模型(可自定义 AUTH_USER_MODEL)
|
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
|
]
|
|
|
|
|
|
operations = [
|
|
|
# 创建 Comment 模型
|
|
|
migrations.CreateModel(
|
|
|
name='Comment',
|
|
|
fields=[
|
|
|
# 主键 id,自动递增
|
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
|
|
|
# 评论内容,最大长度 300 字
|
|
|
('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='是否显示')),
|
|
|
|
|
|
# 评论所属文章,一个评论只能属于一篇文章
|
|
|
# CASCADE 表示当文章删除时,该评论也会被删除
|
|
|
('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='上级评论')),
|
|
|
],
|
|
|
options={
|
|
|
# 后台显示名
|
|
|
'verbose_name': '评论',
|
|
|
'verbose_name_plural': '评论',
|
|
|
|
|
|
# 查询时默认按 id 倒序排列(新的评论排最前)
|
|
|
'ordering': ['-id'],
|
|
|
|
|
|
# get_latest_by 用于 Django 的 latest() 方法
|
|
|
'get_latest_by': 'id',
|
|
|
},
|
|
|
),
|
|
|
]
|