在 Django 中获取 10 天之前的数据库表数据

gam*_*mer 3 python django django-views python-2.7 python-3.x

我正在尝试检索 10 天之前的数据以更新该字段数据。目前我的模型就像

class Restaurant(models.Model):
    is_approved = models.BooleanField(null=False, default=False)
    timestamp = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

我的数据库表是

数据创建日期

现在当我查询数据库时:

dish = Restaurant.objects.filter(timestamp__gt=datetime.now() - timedelta(days=10))
Run Code Online (Sandbox Code Playgroud)

我得到了整个表的数据。我什至试图从一天改为 1 天。它仍然是一个完整的数据库结果。

Ral*_*alf 5

如果您想要更旧的数据,那么您可能需要使用__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)
Run Code Online (Sandbox Code Playgroud)

Django 建议使用timezone.now()而不是datetime.now()确保时区信息正确。