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.
43 lines
1.3 KiB
43 lines
1.3 KiB
#tyx
|
|
"""
|
|
owntracks 应用的数据模型定义
|
|
用于存储和管理 OwnTracks 位置追踪数据
|
|
"""
|
|
|
|
from django.db import models
|
|
from django.utils.timezone import now
|
|
|
|
|
|
class OwnTrackLog(models.Model):
|
|
"""
|
|
OwnTracks 位置日志数据模型
|
|
存储用户的位置追踪信息,包括经纬度和时间戳
|
|
"""
|
|
|
|
# 用户标识符,对应 OwnTracks 中的 tid
|
|
tid = models.CharField(max_length=100, null=False, verbose_name='用户')
|
|
|
|
# 纬度坐标,浮点数类型
|
|
lat = models.FloatField(verbose_name='纬度')
|
|
|
|
# 经度坐标,浮点数类型
|
|
lon = models.FloatField(verbose_name='经度')
|
|
|
|
# 记录创建时间,默认使用当前时间
|
|
creation_time = models.DateTimeField('创建时间', default=now)
|
|
|
|
def __str__(self):
|
|
"""
|
|
字符串表示方法
|
|
返回用户ID用于在admin等界面显示
|
|
"""
|
|
return self.tid
|
|
|
|
class Meta:
|
|
"""
|
|
模型元数据配置
|
|
"""
|
|
ordering = ['creation_time'] # 默认按创建时间升序排序
|
|
verbose_name = "OwnTrackLogs" # 在admin中显示的单数名称
|
|
verbose_name_plural = verbose_name # 在admin中显示的复数名称
|
|
get_latest_by = 'creation_time' # 获取最新记录时使用的字段 |