我有大約10個模型,每個模型都使用User作爲外鍵。刪除用戶時,我想將這些表中的每個表中的值設置爲刪除用戶的值。用戶正在被授權人員通過django管理區刪除。如何從django模型中的on_delete的SET值訪問請求參數
所以,我想我必須調用一個函數並使用SET的on_delete方法來設置值。 這是根據文檔的代碼。
from django.db import models
from django.contrib.auth.models import User
def get_sentinel_user():
return User.objects.get_or_create(username='deleted')[0]
class MyModel(models.Model):
user = models.ForeignKey(User, on_delete=models.SET(get_sentinel_user))
在我的情況下,我想獲取刪除用戶的用戶。這隻能從Request參數中獲得。我如何在get_sentinel_user函數中訪問請求參數?
但是,如何訪問get_sentinel_user中的'請求'參數?該實例只有用戶的ID被刪除。我想獲取刪除用戶的用戶的id,並且該信息僅在請求參數中。 – linuxfreak
我正在爲用戶使用django.contrib.auth.models.User。當管理員刪除用戶時,會觸發DELETE請求。請求包含request.user中的用戶信息。如果它處於視圖中,我可以從self.request獲取信息。問題是從模型中訪問它。我該怎麼做? – linuxfreak
我看到我們有一起錯誤的方法,但也允許我指出,您提供的get_sentinel_user()是一個紅鯡魚,它不接受請求參數。 – e4c5