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.
git-test/comments/migrations/0001_initial.py

50 lines
2.5 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):
initial = True# 标记为comments应用的初始迁移
# 依赖项需要先执行blog的初始迁移和用户模型
dependencies = [
('blog', '0001_initial'),
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='修改时间')),
# 是否启用/显示布尔类型默认True
('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='上级评论')),
],
# 模型元数据配置
options={
'verbose_name': '评论',# 单数显示名称
'verbose_name_plural': '评论',# 复数显示名称
'ordering': ['-id'],# 按ID降序排列
'get_latest_by': 'id',# 获取最新记录的字段
},
),
]