【发布时间】:2014-05-15 20:47:52
【问题描述】:
我正在编写一个 Django 程序,其中部门/职位字段与用户模型相关联。在注册页面上,一个人需要输入名字/姓氏、电子邮件、用户名、密码,这些是默认的用户模型字段,以及他们的部门和职位。
然后下面是我创建的两个模型。
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")
在views.py中,相关的视图是这样的:
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']),应该如何表达外键关系呢?
【问题讨论】:
标签: django django-models foreign-keys django-views django-users