使用 Django ORM 检索最近的行
Using Django ORM to retrieve recent rows
在 SQL 中,如果我想查询 table 最近 10 分钟的数据(不管时区等),我会简单地做(使用 postgresql 的说法):
select * from table where creation_time > now() - interval'10 mins';
有没有一种等效的方法可以使用 Django ORM 执行类似的操作,而不管为应用程序设置的时区设置如何?在这里得到一个说明性的例子会很棒。
试试这个:-
10分钟内的数据:-
from datetime import datetime, timedelta
time_threshold = datetime.now() - timedelta(minutes=10)
results = Table.objects.filter(createdOn__lte=time_threshold)
最后 10 行基于 createdOn
值:-
recentData = Table.objects.all().order_by('-createdOn')[:10]
最后 10 行,如果您没有要过滤的 createdOn
列:-
recentData = Table.objects.all().order_by('-id')[:10]
在 SQL 中,如果我想查询 table 最近 10 分钟的数据(不管时区等),我会简单地做(使用 postgresql 的说法):
select * from table where creation_time > now() - interval'10 mins';
有没有一种等效的方法可以使用 Django ORM 执行类似的操作,而不管为应用程序设置的时区设置如何?在这里得到一个说明性的例子会很棒。
试试这个:-
10分钟内的数据:-
from datetime import datetime, timedelta
time_threshold = datetime.now() - timedelta(minutes=10)
results = Table.objects.filter(createdOn__lte=time_threshold)
最后 10 行基于 createdOn
值:-
recentData = Table.objects.all().order_by('-createdOn')[:10]
最后 10 行,如果您没有要过滤的 createdOn
列:-
recentData = Table.objects.all().order_by('-id')[:10]