1
我確實希望保留一些關於刪除用戶(如用戶名)的信息以顯示在論壇帖子中。我怎樣才能做到這一點?Django在刪除時創建「哨兵」用戶
到目前爲止,我有這樣的:
class Post(models.Model):
(...)
creator = models.ForeignKey(User, blank=True, null=True,on_delete=models.SET(get_sentinel_user))
@receiver(pre_delete, sender=User, dispatch_uid='user_delete_signal')
def create_sentinel_user(sender, instance, using, **kwargs):
SentinelUser.objects.get_or_create(\
username=instance.username+" (left)")[0]
def get_sentinel_user():
return SentinelUser.objects.latest('id')
但是如果我使用,在管理,它不因爲某些原因get_sentinel_user工作比pre_delete更快運行,併爲此定點用戶尚不存在。
其一,你是做在得到create_sentinel_user和SentinelUser SentinelUsers。 – Fred
我意識到這一點。這是因爲我不能從模型on_delete函數調用中傳遞參數,所以我必須將它們分開。 – Stefan
我現在看到,這是一個錯字。該操作運行正常,但沒有錯誤。固定。 – Stefan