如何解决/ profile的RelatedObjectDoesNotExist用户没有配置文件
我一次又一次收到此错误,位于/ profile中的RelatedObjectDoesNotExist 用户没有个人资料。正如我在创建任何用户的信号时创建的那样,该配置文件将自动创建,该配置文件之前一直有效,但是当我编写更新代码后此错误开始出现时 我被困住了
signals.py
@receiver(post_save,sender=User)
def create_profile(sender,instance,created,**kwargs):
if created:
profile.objects.create(user=instance)
print('profile created')
@receiver(post_save,sender=User,)
def save_profile(sender,**kwargs):
instance.profile.save()
print('profile saved')
models.py
class profile(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
image=models.ImageField(upload_to='profile_pics',default='media/vikash.jpg')
def __str__(self):
return f'{self.user.username} profile'
views.py
@login_required
def profile(request):
if request.method=='POST':
u_form=userupdateform(request.POST,instance=request.user)
i_form=imageupdate(request.POST,request.FILES,instance=request.user.profile)
if u_form.is_valid() and i_form.is_valid():
u_form.save()
i_form.save()
messages.success(request,'you account has been updated!')
return HttpResponseRedirect(reverse('profile'))
else:
u_form=userupdateform(instance=request.user)
i_form=imageupdate(instance=request.user.profile)
context={'u_form':u_form,'i_form':i_form}
return render(request,'users/profile.html',context)
forms.py
class userupdateform(forms.ModelForm):
email=forms.EmailField()
class Meta:
model=User
fields=['username','email']
class imageupdate(forms.ModelForm):
class Meta:
model=profile
fields=['image']
这里有错误= error related error
原谅缩进
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。