如果用户没有帐户,如何在十小时后删除数据?

时间:2013-01-17 14:17:45

标签: django

class Data(models.Model):
    user = models.ForeignKey(User, unique=True)
    other = models.CharField(max_length=255)

class Account(models.Model):
    user = models.ForeignKey(User, unique=True)
    number = models.IntegerField()

如果用户没有Data

,如果在添加10小时后删除Account

2 个答案:

答案 0 :(得分:1)

我过去曾经使用过类似的东西。我会在Model Data上添加一个“created”字段:

class Data(models.Model):
    user = models.ForeignKey(User, unique=True)
    other = models.CharField(max_length=255)
    created = models.DateTimeField(auto_now_add=True)

我会设置一个cron-job,用于验证在过去10小时内没有用户关联创建的数据。

答案 1 :(得分:1)

您需要添加以下内容:

created = models.DateTimeField(auto_now_add=True)

在您的模型数据上,并在cronjob创建过去10小时后每小时检查一次,以防用户为无,删除。

并打电话给他们,如:

delete_time = datetime.datetime.now()-datetime.timedelta(hours=10)
to_delete = Data.objects.filter(created__lt=delete_time, user=None).delete()

:)