如何在 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>
我想用 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>