我有一个调查问卷,有一个响应模型,我想链接到一个现有的用户。她应该能够在个人资料页面上查看她过去对调查的回复。那么,无论如何,这是计划。但我甚至无法将用户连接到响应。将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()'。我编辑它。是的,懒惰的用户被创建。 –