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