내 웹 페이지의 가입보기 (아래) 장고의 인증 모델을 통해 새로운 사용자, 사용자를 생성 한 후 새로 생성 된 사용자의 ID가 내 자신의 모델, 계정을 통해 더 많은 정보를 추가하는 것을 사용한다. 사용자., IntegrityError
IntegrityError at /account/signup/
null value in column "user_id" violates not-null constraint
: 내 문제는 내가 두 번째 모델 (
account.Users에서 외래 키 열을) 새 사용자의 ID를 전달하고 있지만, 내가 열 * USER_ID *가되지 null이 제약 조건을 위반 오류가 계속한다는 것입니다
class Users(models.Model):
user = models.ForeignKey(User, unique=True, null=True, blank=True)
firstname = models.CharField(max_length=100, blank=True, default='')
그리고 내보기의 관련 부분 :
def signup(request):
if request.method == 'POST' and request.POST['firstname']:
user = User.objects.create_user(request.POST['username'], request.POST['email'], request.POST['password'])
userId = user.id
form = UsersForm(request.POST, request.FILES)
if form.is_valid():
cmodel = form.save()
cmodel.user_id = userId
cmodel.firstname = request.POST['firstname']
cmodel.save()
것은 무엇 ㄴ 수 있습니다 여기에
는 관련 내 모델의 부분이다 이 오류의 이유는 무엇입니까? 이외에도 * cmodel.user_id 설정에서
*이 userId를 같으면 I는 첫 번째 단계에서 생성 사용자 오브젝트뿐만 아니라 문자열 INT ('1'과 같음 1을 설정 시도 , 각각). 매번 같은 오류가 발생합니다. 또한 필드를 cmodel.user으로 변경하려고했습니다. Django의 오류 페이지에서 변수 userID에는 사실 값이 포함되어 있다고 말할 수 있습니다.
또 다른 잠재적 인 정보 : 아파치와 포스트그레스를 다시 시작했습니다. – jball037
Postrgres에서 테이블의 스키마를 두 번 확인 했습니까? 아마도'null = True'없이 먼저 스키마를 만들고 나중에 고정했지만 스키마를 실제로 업데이트하지 않았을 수도 있습니다. –
항상 null = True로 설정했습니다. – jball037