응답 모델이있는 설문 조사가 있는데, 나는 기존 사용자와 연결하고 싶습니다. 프로필 페이지의 설문 조사에 대한 과거 응답을 볼 수 있어야합니다. 어쨌든 그 계획입니다. 하지만 나는 사용자를 응답에 연결할 수조차 없다.foreign_key로 user_id를 저장하십시오.
(장고 == 1.5, 장고 - 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()
...
오류 얻기 위하여 응답의 외래 키 현재 :
IntegrityError: null value in column "user_id" violates not-null constraint
필드는 user_id는 테이블 응답에 포함됩니다. 남쪽의 스키마 마이 그 레이션 때문에 일회성 값을 설정하고 기존의 user_id를 선택해야했습니다.
의견이 있으십니까?
지연 사용자가 생성 되었습니까? 'response.form = save() '란 무엇입니까? 나는 그것이'response.save()'여야한다고 생각한다. – sneawo
네, 맞습니다. 그것은'response.save()'입니다. 나는 그것을 편집했다. 그리고 예, 게으른 사용자가 생성됩니다. 귀하의 대답은 –