过滤响应晚于(例如 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))
