Django IntegrityError:重复的键值违反了唯一约束;登录“用户帐户”用户档案“用户id”密钥;
当用户上传配置文件pic时,IntegrityError出现在Django IntegrityError:重复的键值违反了唯一约束;登录“用户帐户”用户档案“用户id”密钥;,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,当用户上传配置文件pic时,IntegrityError出现在form.save()上,它给出了错误,下面是代码(“`”它在最后一行用于形式化) models.py forms.py view.py 您可能应该尝试以下方法: user = UserProfile(user=request.user) form = ProfilePicForm(request.POST, request.FILES, instance=user) if form.is_valid(): form.save
form.save()
上,它给出了错误,下面是代码(“`”它在最后一行用于形式化)
models.py
forms.py
view.py
您可能应该尝试以下方法:
user = UserProfile(user=request.user)
form = ProfilePicForm(request.POST, request.FILES, instance=user)
if form.is_valid():
form.save()
是的,谢谢,它解决了这个错误,但是现在它在
表单中给出了一个不同的错误“KeyerrorKeyerror at/login/profile\u pic/u'password'
。\u有效吗()
我相信你没有用户登录的登录页?你在某个地方试图访问字典中的password
。
class ProfilePicForm(ModelForm):
class Meta:
model = UserProfile
fields = ("image",)`
def profile_pic(request):
if request.method =="POST":
form = ProfilePicForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user =request.user
form.save()
return redirect('/login/profile')
else:
args = {'form': ProfilePicForm()}
return render(request, 'login_account/profile_pic.html',args)`
user = UserProfile(user=request.user)
form = ProfilePicForm(request.POST, request.FILES, instance=user)
if form.is_valid():
form.save()