如何在 Django 中 24 小时后自动删除数据库中的数据?

How can I delete a data on db automatically after 24 hours in django?

我想用 django 制作一个 Instagram 克隆。我正在尝试在 Django Models.As 上制作 instagram 故事,你知道,instagram 故事会在 24 小时后被删除。我如何从数据库中删除数据?

只需过滤掉这些。您可以制作一个如下所示的模型:

class MyModel(models.Model):
    # …
    timestamp = models.DateTimeField(<strong>auto_now_add=True</strong>, db_index=True)

那么您只能检索 MyModel 个最多 24 小时的对象:

from datetime import timedelta
from django.db.models.functions import Now

MyModel.objects.filter(<strong>timestamp__gte=Now()-timespan(days=1)</strong>)

您偶尔可以 运行 删除旧 MyModel 的管理命令:

from datetime import timedelta
from django.db.models.functions import Now

MyModel.objects.filter(<strong>timestamp__lt=Now()-timespan(days=1)</strong>)<b>.delete()</b>