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

52 lines
3.2 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
#jrx: 该文件为Django数据迁移文件定义了评论模型(Comment)的数据库结构初始化操作
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
#jrx: 标识这是初始迁移(首次创建模型时生成)
initial = True
#jrx: 依赖关系执行此迁移前需先完成blog应用的0001_initial迁移和用户模型迁移
dependencies = [
('blog', '0001_initial'), #jrx: 依赖blog应用的初始迁移因关联Article模型
migrations.swappable_dependency(settings.AUTH_USER_MODEL), #jrx: 依赖用户模型的迁移
]
#jrx: 迁移操作列表
operations = [
#jrx: 创建Comment模型对应的数据库表
migrations.CreateModel(
name='Comment', #jrx: 模型名称
fields=[ #jrx: 模型字段定义
#jrx: 自增主键IDBigAutoField适用于大数据量场景
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
#jrx: 评论正文字段最大长度300显示名称为“正文”
('body', models.TextField(max_length=300, verbose_name='正文')),
#jrx: 创建时间字段,默认值为当前时间,显示名称“创建时间”
('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')),
#jrx: 最后修改时间字段,默认值为当前时间,显示名称“修改时间”
('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')),
#jrx: 是否显示字段布尔类型默认值为True显示名称“是否显示”
('is_enable', models.BooleanField(default=True, verbose_name='是否显示')),
#jrx: 外键关联到blog应用的Article模型级联删除显示名称“文章”
('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.article', verbose_name='文章')),
#jrx: 外键关联到用户模型,级联删除,显示名称“作者”
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')),
#jrx: 自关联外键,指向自身,用于表示上级评论(回复功能),允许为空,级联删除,显示名称“上级评论”
('parent_comment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.comment', verbose_name='上级评论')),
],
options={ #jrx: 模型元数据配置
'verbose_name': '评论', #jrx: 单数显示名称
'verbose_name_plural': '评论', #jrx: 复数显示名称
'ordering': ['-id'], #jrx: 默认排序方式按ID倒序最新评论在前
'get_latest_by': 'id', #jrx: 指定通过id字段获取最新记录
},
),
]