我想自动删除Django模型中我的字段的值。
verify_code = models.IntegerField(blank=True, null=True)
verification_timestamp = models.DateTimeField(blank=True, null=True)
def save(self, *args, **kwargs):
if self.verify_code is not None:
self.verification_timestamp = timezone.now()
super().save(*args, **kwargs)
字符串
如果verify_code没有设置为None,我在verify_timestamp中保存时间,那么我想在1分钟后删除verify_code的值(例如在1分钟后保存为None),现在我该怎么办?
2条答案
按热度按时间2ekbmq321#
正如马马雷扎已经指出的:您可以通过cron调度的管理命令来实现这一点。或者celery 。这是对“如何在一段时间后更改值”的正确回应。
is_still_valid()
的函数。字符串
当用户尝试使用该Verification对象时,您只需检查它是否仍然有效或是否已经“过期”。在这里,我的建议是把它放在Python中。希望你说的有道理
这样你就不需要去的相当沉重的方法与例如。celery
dy1byipe2#
你可以使用管理命令或celery
管理命令
网址:https://docs.djangoproject.com/en/4.2/howto/custom-management-commands/#howto-custom-management-commands
**celery **
https://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html