From 95fa55e685aa25163e4c4737c0a30b3a1f9bae8e Mon Sep 17 00:00:00 2001 From: pfy5v82cw <1667039373@qq.com> Date: Sun, 9 Nov 2025 21:02:43 +0800 Subject: [PATCH] Update 0002_alter_owntracklog_options_and_more.py --- ...0002_alter_owntracklog_options_and_more.py | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py b/src/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py index b4f8dec..1b5dfaf 100644 --- a/src/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py +++ b/src/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py @@ -1,22 +1,44 @@ # Generated by Django 4.2.5 on 2023-09-06 13:19 +# 说明:该文件为 Django 自动生成的**增量迁移文件**,用于更新数据库表结构 +# 生成条件:修改 models.py 中 OwnTrackLog 模型的 Meta 配置(排序字段、最新记录字段)和字段名(created_time → creation_time)后,执行 makemigrations 命令生成 +# 兼容版本:Django 4.2.5(与初始迁移文件 0001_initial 版本需匹配,避免迁移冲突) +# 核心作用:1. 重命名字段 created_time 为 creation_time;2. 更新模型元数据的排序和最新记录查询字段 +# 导入 Django 迁移核心模块(仅需 migrations,无需额外字段类,因无新增字段) from django.db import migrations class Migration(migrations.Migration): + """ + 数据迁移类:定义数据库结构的增量变更操作 + 本次迁移依赖初始迁移文件,仅修改字段名称和模型元数据,不改变表结构核心逻辑 + """ + # 依赖迁移列表:当前迁移必须在 'owntracks' 应用的 0001_initial 迁移执行后才能运行 + # 格式:['应用名称.迁移文件前缀'],确保迁移顺序正确,避免字段不存在导致的报错 dependencies = [ - ('owntracks', '0001_initial'), + ('owntracks', '0001_initial'), # 依赖初始迁移(创建 OwnTrackLog 表的迁移) ] + # 迁移操作列表:包含两个核心变更操作,按顺序执行 operations = [ + # 操作1:修改模型的元数据配置(对应 models.py 中 OwnTrackLog 类的 Meta 内部类) migrations.AlterModelOptions( - name='owntracklog', - options={'get_latest_by': 'creation_time', 'ordering': ['creation_time'], 'verbose_name': 'OwnTrackLogs', 'verbose_name_plural': 'OwnTrackLogs'}, + name='owntracklog', # 目标模型名称(必须与 models.py 中类名一致) + options={ + 'get_latest_by': 'creation_time', # 更新「查询最新记录」的字段:从 created_time 改为新字段 creation_time + # 影响 Model.objects.latest() 方法的默认查询逻辑 + 'ordering': ['creation_time'], # 更新默认排序字段:从 created_time 改为 creation_time(升序) + 'verbose_name': 'OwnTrackLogs', # 单数显示名称(未修改,与初始迁移一致) + 'verbose_name_plural': 'OwnTrackLogs', # 复数显示名称(未修改) + }, ), + # 操作2:重命名模型的字段(数据库表中对应列名也会同步修改) migrations.RenameField( - model_name='owntracklog', - old_name='created_time', - new_name='creation_time', + model_name='owntracklog', # 目标模型名称 + old_name='created_time', # 旧字段名(原模型中定义的字段名) + new_name='creation_time', # 新字段名(修改后的字段名) + # 说明:该操作会同步更新数据库表中对应的列名(created_time → creation_time),且保留原有字段数据 + # 无需手动处理数据迁移,Django 会自动完成字段名映射和数据保留 ), - ] + ] \ No newline at end of file