我有一個調查問卷,有一個響應模型,我想鏈接到一個現有的用戶。她應該能夠在個人資料頁面上查看她過去對調查的回覆。那麼,無論如何,這是計劃。但我甚至無法將用戶連接到響應。將user_id保存爲外鍵
(django的== 1.5,Django的lazysignup)
用戶目前在爲了得到鏈接
# models.p
from django.contrib.auth.models import User
class Response(models.Model):
survey = models.ForeignKey(Survey)
user = models.ForeignKey(User)
...
#views.py
@allow_lazy_user
def survey_detail(request, slug):
...
if form.is_valid():
response = form.save(commit=False)
response.user = request.user
response.save()
...
錯誤響應一個ForeignKey:
IntegrityError: null value in column "user_id" violates not-null constraint
的場user_id包含在表格響應中。由於南模式遷移,我不得不設置一次性值並選擇一個現有的user_id。
有什麼想法?
是否創建了懶惰的用戶?什麼是'response.form = save()'?我認爲它應該是'response.save()' – sneawo
是的,你是對的:它是'response.save()'。我編輯它。是的,懶惰的用戶被創建。 –