|
|
|
|
@ -1,31 +1,64 @@
|
|
|
|
|
# Generated by Django 4.1.7 on 2023-03-02 07:14
|
|
|
|
|
# 说明:该文件为 Django 自动生成的数据迁移文件,用于创建数据库表结构
|
|
|
|
|
# 生成条件:执行 makemigrations 命令时,Django 检测到 models.py 中新增 OwnTrackLog 模型后自动生成
|
|
|
|
|
# 兼容版本:Django 4.1.7(迁移文件与 Django 版本强相关,修改需注意兼容性)
|
|
|
|
|
|
|
|
|
|
# 导入 Django 迁移核心模块和模型字段类
|
|
|
|
|
from django.db import migrations, models
|
|
|
|
|
# 导入 Django 时区工具(用于处理时间字段的时区一致性)
|
|
|
|
|
import django.utils.timezone
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
|
"""
|
|
|
|
|
数据迁移类:Django 迁移系统的核心载体,用于定义数据库结构变更逻辑
|
|
|
|
|
每个迁移类对应一次数据库操作(如建表、改字段、删索引等)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# 标记是否为初始迁移(首次创建模型时为 True,后续修改为 False)
|
|
|
|
|
initial = True
|
|
|
|
|
|
|
|
|
|
# 依赖迁移列表:当前迁移依赖的其他迁移文件(为空表示无依赖)
|
|
|
|
|
# 若需依赖其他 app 的迁移,格式为 ['其他app名称.迁移文件名前缀']
|
|
|
|
|
dependencies = [
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# 迁移操作列表:定义具体的数据库变更操作
|
|
|
|
|
operations = [
|
|
|
|
|
# 创建数据库表操作:对应 models.py 中的 OwnTrackLog 模型
|
|
|
|
|
migrations.CreateModel(
|
|
|
|
|
# 模型名称(必须与 models.py 中定义的类名一致)
|
|
|
|
|
name='OwnTrackLog',
|
|
|
|
|
# 字段配置:与模型类中的 field 定义一一对应,决定表的列结构
|
|
|
|
|
fields=[
|
|
|
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
|
|
('tid', models.CharField(max_length=100, verbose_name='用户')),
|
|
|
|
|
# 主键字段:BigAutoField 为自增bigint类型,Django 默认主键类型
|
|
|
|
|
('id', models.BigAutoField(
|
|
|
|
|
auto_created=True, # 自动创建,无需手动赋值
|
|
|
|
|
primary_key=True, # 标记为主键
|
|
|
|
|
serialize=False, # 不序列化(主键默认不参与序列化)
|
|
|
|
|
verbose_name='ID' # 后台管理界面显示的字段名称
|
|
|
|
|
)),
|
|
|
|
|
# 用户标识字段:CharField 对应数据库 varchar 类型
|
|
|
|
|
('tid', models.CharField(
|
|
|
|
|
max_length=100, # 最大长度100(必填参数)
|
|
|
|
|
verbose_name='用户' # 后台显示名称,支持中文
|
|
|
|
|
)),
|
|
|
|
|
# 纬度字段:FloatField 对应数据库 float 类型,存储地理纬度(如 39.9042)
|
|
|
|
|
('lat', models.FloatField(verbose_name='纬度')),
|
|
|
|
|
# 经度字段:FloatField 对应数据库 float 类型,存储地理经度(如 116.4074)
|
|
|
|
|
('lon', models.FloatField(verbose_name='经度')),
|
|
|
|
|
('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')),
|
|
|
|
|
# 创建时间字段:DateTimeField 对应数据库 datetime 类型
|
|
|
|
|
('created_time', models.DateTimeField(
|
|
|
|
|
default=django.utils.timezone.now, # 默认值:当前时区的当前时间
|
|
|
|
|
verbose_name='创建时间' # 后台显示名称
|
|
|
|
|
)),
|
|
|
|
|
],
|
|
|
|
|
# 模型元数据配置:对应模型类中的 Meta 内部类,影响表的整体属性
|
|
|
|
|
options={
|
|
|
|
|
'verbose_name': 'OwnTrackLogs',
|
|
|
|
|
'verbose_name_plural': 'OwnTrackLogs',
|
|
|
|
|
'ordering': ['created_time'],
|
|
|
|
|
'get_latest_by': 'created_time',
|
|
|
|
|
'verbose_name': 'OwnTrackLogs', # 单数形式的表名称(后台显示)
|
|
|
|
|
'verbose_name_plural': 'OwnTrackLogs', # 复数形式的表名称(后台列表页显示)
|
|
|
|
|
'ordering': ['created_time'], # 默认排序:按创建时间升序排列(-created_time 表示降序)
|
|
|
|
|
'get_latest_by': 'created_time', # 支持使用 Model.objects.latest() 方法,默认按创建时间取最新记录
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
]
|