【问题标题】:How to make posted text expire in django?如何使发布的文本在 django 中过期?
【发布时间】:2010-05-22 13:02:13
【问题描述】:

我想知道如何在 django 网站上的某个特定日期/时间删除一些已发布的文本。是用脚本来删除数据库中的内容吗?

【问题讨论】:

    标签: database django


    【解决方案1】:

    是的,这就是管理命令的用途。你通常从一个 cronjob 开始。

    更多信息: http://docs.djangoproject.com/en/dev/howto/custom-management-commands/

    【讨论】:

    • 如果您想控制您的清理任务(或任何由 cron 驱动的作业),请查看 django-chronograph (github.com/t11e/django-chronograph),它可以让您(或他们)安排和运行 django 管理任务通过管理员。太棒了
    【解决方案2】:

    我认为最直接的解决方法是将数据隐藏给客户。这是通过向模型添加一些expiration_date 字段来完成的。然后你可能有一个看起来像这样的自定义管理器:

    class ValidObject(Manager):
        def filter_valid(self):
            return self.filter(expiration_date__gt=datetime.date.today())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2016-06-06
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 2021-03-31
      • 2019-04-25
      相关资源
      最近更新 更多