Python 在指定时间后自动删除对象
尝试在指定时间后从数据库中删除对象 这是我的密码:Python 在指定时间后自动删除对象,python,django,django-rest-framework,Python,Django,Django Rest Framework,尝试在指定时间后从数据库中删除对象 这是我的密码: from datetime import timedelta from django.db import models from django.utils.timezone import now class Email(models.Model): email = models.EmailField(max_length=256) created_at = models.DateTimeField(auto_now_add=T
from datetime import timedelta
from django.db import models
from django.utils.timezone import now
class Email(models.Model):
email = models.EmailField(max_length=256)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return 'code: ' + str(self.code)
@property
def deletes_in_ten_seconds(self):
time = self.created_at + timedelta(seconds=10)
query = Email.objects.get(pk=self.pk)
if time > now():
query.delete()
但它不起作用。我是否必须在一段时间后调用delete方法?我真的一点头绪也没有。django新手首先,在代码中永远不会调用“十秒内删除”,因此查询永远不会运行
其次,是的,当需要删除行时,您必须要求数据库删除行,因此您需要以某种方式每隔一段时间安排一次。有很多方法可以做到这一点:从python应用程序中的线程到使用数据库提供的功能。首先,在代码中不会调用十秒钟内删除,因此查询永远不会运行
其次,是的,当需要删除行时,您必须要求数据库删除行,因此您需要以某种方式每隔一段时间安排一次。有很多方法可以做到这一点:从python应用程序中的线程到使用数据库提供的功能。为此,您需要安排一个作业 也许你想用芹菜做这个 此处的文档:
您好,您需要为此安排一份工作 也许你想用芹菜做这个 此处的文档: 问候您,从datetime导入timedelta 从django.db导入模型 从django.utils.timezone立即导入 类模型。模型: email=models.EmailFieldmax_length=256 已创建\u at=models.DateTimeFieldDauto\u now\u add=True 定义自身: 返回“code:”+strself.code @财产 def在十秒钟内删除自己: 时间=自创建时间+时间增量秒=10 query=Email.objects.getpk=self.pk 添加此代码 尽管如此: 如果时间>现在: query.delete 打破 当执行deletes_in_ten_seconds时,if语句不满足,因此它不需要进一步判断就退出。因此,您必须添加一个while循环,使其在query.delete出现之前一直运行。来自datetime import timedelta 从django.db导入模型 从django.utils.timezone立即导入 类模型。模型: email=models.EmailFieldmax_length=256 已创建\u at=models.DateTimeFieldDauto\u now\u add=True 定义自身: 返回“code:”+strself.code @财产 def在十秒钟内删除自己: 时间=自创建时间+时间增量秒=10 query=Email.objects.getpk=self.pk 添加此代码 尽管如此: 如果时间>现在: query.delete 打破
当执行deletes_in_ten_seconds时,if语句不满足,因此它不需要进一步判断就退出。因此,您必须添加一个while循环,使其在query.delete出现之前一直运行。谢谢。您介意详细介绍一下调用delete方法的其中一种方法吗?如果您也能为它编写代码示例,那将非常有帮助。在这里,您已经讨论了这个问题哦,谢谢。您介意详细介绍一下调用delete方法的其中一种方法吗?如果您也能为它编写代码示例,那将非常有帮助