如何在设置的到期日期后隐藏数据库条目?

时间:2013-10-03 19:07:10

标签: mysql django

我正在使用Django和MySQL构建应用程序,允许用户创建截止日期的帖子,类似于eBay拍卖的截止时间。这些过帐列在按类别分组的表中。我希望任何过期的帖子仍然可以在他们的永久链接页面上访问,所以我不想从数据库中删除它们,以便从即将到来的列表页面中删除它们。我怎么能从我看来这样做?目前我的列表表包括过期和即将到来的条目,但我想清理它。

1 个答案:

答案 0 :(得分:1)

假设您使用DateTimeField作为Post的到期日期,您可以这样做 这在你看来:

from datetime import datetime

def upcoming(request):
    now = datetime.now()
    queryset = YourModel.objects.filter(expiration_date__gt=now)
    # your own logic here

这些行将在未来返回所有带有expiration_date的条目。

Expiration_date__gt代表“到期日期大于”。 Django的 根据您的模型字段自动添加这些功能。 您还可以访问__gte(大于),__ lt(小于),lte(较小 比等于。请注意,您也可以使用最后一个仅显示 过期的条目:

queryset = YourModel.objects.filter(expiration_date__lt=now)

您可以在Django docs about field lookups找到更多信息。

(如果您想了解更多特定信息,请提供有关您的代码的一些信息 例如)