我正在尝试检索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))
我得到整张桌子的数据。就连我也试着从一天变为一天。仍然是完整的数据库结果。
最佳答案
这绝对是个错误。尝试timestamp__lt
查看旧结果。timestamp__gt
正在录制新结果的记录。我让你试着用1分钟,结果成功了。这应该会显示整个数据库,因为所有这些都超过1分钟。而且,如前所述,Django建议gt
而不是timezone.now()
。所以您犯了一个错误,为什么datetime.now()
返回整个数据库10天,是因为所有的帖子都不到10天。但是timestamp__lt
在1分钟内不返回任何内容,因为所有数据都大于1分钟。