diff --git a/src/DjangoBlog-master/servermanager/migrations/0001_initial.py b/src/DjangoBlog-master/servermanager/migrations/0001_initial.py index bbdbf77..017deee 100644 --- a/src/DjangoBlog-master/servermanager/migrations/0001_initial.py +++ b/src/DjangoBlog-master/servermanager/migrations/0001_initial.py @@ -1,45 +1,73 @@ -# Generated by Django 4.1.7 on 2023-03-02 07:14 - +# 由 Django 4.1.7 于 2023年3月2日 07:14 自动生成 +# 该文件是Django的数据迁移文件,用于初始化创建两个核心数据模型的数据库表结构 from django.db import migrations, models class Migration(migrations.Migration): - + # 标记为初始迁移(首次创建模型时使用,无前置迁移依赖) initial = True + # 依赖的其他迁移文件:初始迁移无依赖,为空列表 dependencies = [ ] + # 迁移操作列表:包含两个模型的创建操作 operations = [ + # 1. 创建 "commands" 模型(用于存储预设系统命令) migrations.CreateModel( name='commands', fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + # 自增主键字段:大整数类型,自动创建,作为主键 + ('id', models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name='ID' + )), + # 命令标题字段:字符串类型,最大长度300,用于标识命令(如"查看日志") ('title', models.CharField(max_length=300, verbose_name='命令标题')), + # 命令内容字段:字符串类型,最大长度2000,存储实际执行的系统命令(如"ls /var/log") ('command', models.CharField(max_length=2000, verbose_name='命令')), + # 命令描述字段:字符串类型,最大长度300,说明命令功能(如"查看系统日志目录内容") ('describe', models.CharField(max_length=300, verbose_name='命令描述')), + # 创建时间字段:自动记录模型创建时的时间,后续不自动更新 ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), + # 修改时间字段:自动记录模型每次更新时的时间 ('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), ], + # 模型元配置 options={ - 'verbose_name': '命令', - 'verbose_name_plural': '命令', + 'verbose_name': '命令', # 模型单数显示名称(如Admin后台中) + 'verbose_name_plural': '命令', # 模型复数显示名称(与单数一致,避免中文复数歧义) }, ), + # 2. 创建 "EmailSendLog" 模型(用于记录邮件发送历史) migrations.CreateModel( name='EmailSendLog', fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + # 自增主键字段:大整数类型,自动创建,作为主键 + ('id', models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name='ID' + )), + # 收件人字段:字符串类型,最大长度300,存储收件人邮箱(可多个,用逗号分隔) ('emailto', models.CharField(max_length=300, verbose_name='收件人')), + # 邮件标题字段:字符串类型,最大长度2000,存储邮件主题 ('title', models.CharField(max_length=2000, verbose_name='邮件标题')), + # 邮件内容字段:文本类型,存储邮件正文(支持长文本,无长度限制) ('content', models.TextField(verbose_name='邮件内容')), + # 发送结果字段:布尔类型,默认值False(未成功),标记邮件是否发送成功 ('send_result', models.BooleanField(default=False, verbose_name='结果')), + # 创建时间字段:自动记录邮件发送记录创建时的时间 ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ], + # 模型元配置 options={ - 'verbose_name': '邮件发送log', - 'verbose_name_plural': '邮件发送log', - 'ordering': ['-created_time'], + 'verbose_name': '邮件发送log', # 模型单数显示名称 + 'verbose_name_plural': '邮件发送log', # 模型复数显示名称 + 'ordering': ['-created_time'], # 默认排序:按创建时间降序(最新记录在前) }, ), ]