|
|
# 导入Django数据库模型模块 #zqx: 引入Django的models模块,用于定义数据库模型
|
|
|
from django.db import models
|
|
|
# 从Django时区工具中导入now函数,用于获取当前时间 #zqx: 从django.utils.timezone导入now函数,用于设置默认时间值
|
|
|
from django.utils.timezone import now
|
|
|
|
|
|
# Create your models here. #zqx: Django模型定义的标准注释,标记模型定义区域开始
|
|
|
|
|
|
# 定义OwnTrackLog数据模型,继承自Django的Model基类 #zqx: 定义OwnTrackLog类,继承自models.Model,创建一个数据库模型
|
|
|
class OwnTrackLog(models.Model):
|
|
|
# 用户标识字段,字符类型,最大长度100,不允许为空 #zqx: 定义tid字段,类型为CharField,最大长度100,null=False表示不允许为空,verbose_name设置字段显示名称
|
|
|
tid = models.CharField(max_length=100, null=False, verbose_name='用户')
|
|
|
# 纬度字段,浮点数类型 #zqx: 定义lat字段,类型为FloatField,verbose_name设置字段显示名称
|
|
|
lat = models.FloatField(verbose_name='纬度')
|
|
|
# 经度字段,浮点数类型 #zqx: 定义lon字段,类型为FloatField,verbose_name设置字段显示名称
|
|
|
lon = models.FloatField(verbose_name='经度')
|
|
|
# 创建时间字段,日期时间类型,默认值为当前时间 #zqx: 定义creation_time字段,类型为DateTimeField,第一个参数是字段名,default设置默认值为now函数
|
|
|
creation_time = models.DateTimeField('创建时间', default=now)
|
|
|
|
|
|
# 定义对象的字符串表示方法,返回用户的tid #zqx: 定义__str__方法,返回对象的tid属性,用于在管理后台等地方显示对象信息
|
|
|
def __str__(self):
|
|
|
return self.tid
|
|
|
|
|
|
# 定义模型的元数据选项 #zqx: 定义Meta内部类,用于配置模型的元数据选项
|
|
|
class Meta:
|
|
|
# 设置查询结果的默认排序方式,按创建时间升序排列 #zqx: 设置ordering属性,指定查询结果按creation_time字段升序排列
|
|
|
ordering = ['creation_time']
|
|
|
# 设置模型在管理后台显示的单数名称 #zqx: 设置verbose_name属性,指定模型在管理后台的单数显示名称
|
|
|
verbose_name = "OwnTrackLogs"
|
|
|
# 设置模型在管理后台显示的复数名称,这里与单数名称相同 #zqx: 设置verbose_name_plural属性,指定模型在管理后台的复数显示名称,这里与单数名称相同
|
|
|
verbose_name_plural = verbose_name
|
|
|
# 设置获取最新记录时依据的字段 #zqx: 设置get_latest_by属性,指定获取最新记录时使用的字段为creation_time
|
|
|
get_latest_by = 'creation_time'
|