如何在 Django 中的特定时间后自动从数据库中删除记录

How to automatically delete records from database after a specific time in Django

我有一个名为 'Complaint' 的模型,其中包含大量条目,如果该条目在数据库中超过 3 天,我想删除该条目。如果有任何指定时间的查询,我该怎么做。我还存储条目的存储时间。这是我的 models.py 文件。

complaint_for = models.CharField(max_length=25, choices=COMPLAINT_CHOICES, default='Misbehave')
name = models.CharField(max_length=50)
created = models.DateTimeField(auto_now_add=True)

老实说,我从来没有使用过 Django,但据我所知,在一定时间间隔后删除记录的一个很好的解决方案是 运行 自动执行一个数据库脚本。在你的情况下,我可以想象你在你的 db-table 中有一个名为 creation_time 或类似名称的列,然后你可以使用你的脚本检查当前时间之间的差异并且 creation_time 大于或等于指定的时间间隔。如果是这样,脚本将删除记录。为了 运行 自动执行这样的脚本,您可以启动一个 cron job 。您可以在主题 cron 作业上阅读有关如何使用 sql here and here 删除记录的主题的更多信息。