簡體   English   中英

Django過濾器由timedelta查詢集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM