在SQL中,如果我想查询表中最近10分钟的数据(无论时区等),我只是(使用postgresql说法):
select * from table where creation_time > now() - interval'10 mins';
使用Django ORM有没有相同的方法来做这样的事情,忽略了为应用设置的时区设置?很高兴在这里得到一个说明性的例子。
答案 0 :(得分:1)
试试这个: -
10分钟内的数据: -
from datetime import datetime, timedelta
time_threshold = datetime.now() - timedelta(minutes=10)
results = Table.objects.filter(createdOn__lte=time_threshold)
基于createdOn
值的前10行: -
recentData = Table.objects.all().order_by('-createdOn')[:10]
如果您没有要过滤的createdOn
列,则最后10行: -
recentData = Table.objects.all().order_by('-id')[:10]