부서/위치 필드가 사용자 모델과 관련되어있는 Django 프로그램을 작성하고 있습니다. 등록 페이지에서 사람은 성/이름, 이메일, 사용자 이름, 암호 (기본 사용자 모델 필드는 물론 부서 및 직책)를 입력해야합니다.기본 사용자 모델과 외래 키 관계가있는 Django 모델을 사용합니다.
그리고 내가 만든 두 모델은 다음과 같습니다. views.py에서
class Department(models.Model):
department_id = models.AutoField(primary_key=True)
department_name = models.CharField(max_length=100, unique=True)
is_active = models.BooleanField(default=True)
class Position(models.Model):
position_id = models.AutoField(primary_key=True)
position_name = models.CharField(max_length=100)
department = models.ForeignKey(Department)
user = models.OneToOneField(User, blank=True, related_name="position")
는 관련보기는 다음과 같이 진행됩니다
def sign_up_in(request):
global user
post = request.POST
if post['email'] is u'' or post['password'] is u'':
msg = 'Please check sign-up input forms'
return render_to_response('none.html', {'msg': msg})
else:
if not user_exists(post['email']):
user = create_user(username=post['email'], email=post['email'], password=post['password'])
user.first_name=post['first']
user.last_name=post['last']
**user.position.position_name=post['position']**
user.department=post['department']
user.is_staff = True
user.save()
msg = 'Sign Up OK ' + user.first_name + ' ' + user.last_name
else:
msg = 'Existing User'
return render_to_response('login.html', {'msg': msg})
나는, 위 views.py에서 굵게 라인을 추가 할 때 나는 오류 "이 공급되지 않은 예외"를 받기 시작했다. 모델과 뷰에서 무엇을 변경해야합니까? 또한이 코드 줄에서 user = create_user (username = post [ 'email'], email = post [ 'email'], password = post [ 'password']) 어떻게 외래 키 관계를 표현해야합니까?