2
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

4

2 に答える 2

1

昔はこんなものを使っていました。モデル データに「created」フィールドを追加します。

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

そして、過去 10 時間にユーザーの関連付けなしで作成されたデータを検証するcron-jobを設定します。

于 2013-01-17T14:28:39.253 に答える
1

次のようなものを追加する必要があります。

created = models.DateTimeField(auto_now_add=True)

モデルデータで、過去10時間の作成時にcronjobで1時間ごとに確認し、ユーザーがNoneの場合は削除します。

そして、次のように呼び出します。

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

:)

于 2013-01-17T14:31:43.037 に答える