【发布时间】:2018-10-22 19:58:59
【问题描述】:
在 Django 1.9 上,我可以通过用户表单视图创建用户。当用户提交表单以创建配置文件时,可以在Users 下的管理员中看到提交并正常登录。我希望用户只能查看他们上传的模型。因此,我需要将它们映射在一起。但是models.py中没有定义用户模型。
我试图在我的模型中将它们链接到models.py:
user = models.ForeignKey(User)
但是,这个错误被抛出:
NameError: name 'User' is not defined
这是因为我的models.py 中没有用户作为模型吗?
创建用户的请求:
def post (self, request):
form = self.form_class(request.POST)
if form.is_valid():
#creates an object from the form
#being stored locally as of now
user = form.save(commit=False)
#cleaned data
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user.set_password(password)
#Saved to the DB after it's shown in the correct format
user.save()
models.py:
class Clean(models.Model):
name = models.CharField(max_length=100, blank = False)
#User doesn't see when creating model
cv = models.TextField(max_length=10000, blank = True, null = True)
cvfile = models.FileField(validators=[validate_file_extension])
#User doesn't se when creating model
cvscore = models.IntegerField()
spellerrors = models.CharField(max_length=100, blank = False)
*** user = models.ForeignKey(User) ***
任何解决方案都将不胜感激。我正在使用 Python 3.6.4。
【问题讨论】:
标签: python django django-models