django的model中DateTimeField字段,ORM和queryset对象操作示例
主要是用 datetime
模块,有关其他DateTime关于ORM操作,查看django 中使用DateTime常用的时间查询
# 实现一个时间节点取值的函数
import datetime
def get_timeline(operator, seconds):
"""
:param operator: 操作 支持 + -
:param seconds: 时间跨度,datetime.timedelta支持的时间参数均可传入,这里使用seconds
:return:
"""
timeline = datetime.timedelta(seconds=seconds)
if operator == "+":
return datetime.datetime.now() + timeline
return datetime.datetime.now() - timeline
# 查询创建超过15天的订单信息
# 直接ORM操作
from app.models import Order
# 获取相对当前时间15天前的时间点
expiry_date = get_timeline("-", 60 * 60 * 24 * 15)
# 日期 X月 ---1-3-5-7-9-10-11-12-13-14-15 -------- 日
# -----------------^ 创建--------------^ 今天-----
# ---------- ^ 当前 减15天后----------------------
# 大于 expiry_date 这个时间点,表示在15天内,排查这部分的订单数据,得到目标数据
Order.object.exclude(
create_time__gte=expiry_date
)
# 查询出QuerySet对象后
order = Order.object.get(pk=1)
# 使用时间戳操作
now_time = int(datetime.now().timestamp())
if(now_time - int(order.create_time.timestamp()) > 60 * 60 * 24 * 15):
# you operator
pass