2024-04-25 21:58:42 发布
网友
有没有办法在创建模型后的指定时间段内删除模型?基本上,我只想保留一个模型24小时,这样在达到这个期限后它就过期了。你知道吗
只需创建一个celery任务来删除模型。使用^{}信号处理程序触发模型的芹菜删除任务(延迟24小时)(当created为True)。你知道吗
created
True
from celery import shared_task @shared_task def delete_model(model_pk): try: MyModel.objects.get(pk=model_pk).delete() except MyModel.DoesNotExist: pass
from django.dispatch import receiver from django.db.models.signals import post_save from datetime import datetime, timedelta @receiver(post_save, sender=MyModel) def model_expiration(sender, instance, created, **kwargs): if created: delete_model.apply_async( args=(instance.pk,), eta=datetime.utcnow() + timedelta(hours=24) )
只需创建一个celery任务来删除模型。使用^{} 信号处理程序触发模型的芹菜删除任务(延迟24小时)(当
created
为True
)。你知道吗相关问题 更多 >
编程相关推荐