You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Django/doc/comments/migrations/0001_initial.py

66 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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