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

class Restaurant(models.Model):
    is_approved = models.BooleanField(null=False, default=False)
    timestamp = models.DateTimeField(auto_now_add=True)

我的数据库表是
python - 在Django中获取早于10天的数据库表数据-LMLPHP
现在当我问
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分钟。

09-25 17:43
查看更多