我正在尝试检索早于 10 天的数据以更新该字段数据。目前我的模型是这样的
class Restaurant(models.Model):
is_approved = models.BooleanField(null=False, default=False)
timestamp = models.DateTimeField(auto_now_add=True)
我的数据库表是
现在当我查询数据库时:
dish = Restaurant.objects.filter(timestamp__gt=datetime.now() - timedelta(days=10))
我得到了整个表的数据。我什至尝试将一天更改为一天。它仍然是一个完整的数据库结果。
最佳答案
如果您想要较旧的数据,那么您可能需要使用__lt
而不是__gt
。
import datetime
from django.utils import timezone as tz
d = tz.now() - datetime.timedelta(days=10)
dish = Restaurant.objects.filter(timestamp__lt=d)
Django 推荐使用 timezone.now()
而不是 datetime.now()
以确保时区信息正确。
关于python - 在 Django 中获取早于 10 天的数据库表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57761722/