如果我的問題變得愚蠢,我很抱歉,但是我對Django比較陌生,我無法在任何地方找到答案。Django模型 - 分配id而不是對象
我有以下型號:
class BlackListEntry(models.Model):
user_banned = models.ForeignKey(auth.models.User,related_name="user_banned")
user_banning = models.ForeignKey(auth.models.User,related_name="user_banning")
現在,當我嘗試創建這樣一個對象:
BlackListEntry.objects.create(user_banned=int(user_id),user_banning=int(banning_id))
,我收到了以下錯誤:
Cannot assign "1": "BlackListEntry.user_banned" must be a "User" instance.
中當然,如果我用這樣的東西代替它:
user_banned = User.objects.get(pk=user_id)
user_banning = User.objects.get(pk=banning_id)
BlackListEntry.objects.create(user_banned=user_banned,user_banning=user_banning)
一切工作正常。問題是:
我的解決方案是否觸及數據庫以檢索兩個用戶,如果是,是否可以避免它,只是傳遞ID?
這給了我: 'user_banning__id'是此函數的一個無效關鍵字參數 –
對不起,我剛剛意識到您正在創建對象。所以,你需要使用一個下劃線來訪問。我將編輯我的答案以解釋爲什麼。 – Francisco
謝謝,現在它工作。我會給你加+1,但我還不能這麼做。 –