[英]Django filter queryset by timedelta
有什么好的方法可以過濾響應時間晚於例如500秒的設備?
所以假設我的模型:
class Device(models.Model):
last_response = models.DateTimeField(null=True, blank=True)
我最好的舉動是:
from django.utils import timezone
for d in Device.objects.all():
now = timezone.now()
if d.last_response and (now - d.last_response).seconds < 500:
# Do something
但是我不想為此查詢所有數據庫。 我如何使其與過濾器一起使用,例如for d in Device.objects.filter(..some arguments..):
?
from django.utils import timezone
from datetime import timedelta
Device.objects.filter(last_response__lte=timezone.now()-timedelta(seconds=500))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.