[英]How to save edit profile in django
如何将已编辑的信息保存在Django中。 我想编辑用户个人资料并将其保存到我的数据库中。 为此,我做了这种方法
@login_required()
def saveProfile(request):
if request.method =='POST':
print "heloo"
usr=request.POST['username']
first_name=request.POST['first_name']
last_name=request.POST['last_name']
email=request.POST['email']
mobile=request.POST.get('mobile_no')
exp=request.POST.get('experience')
skills=request.POST.get('Skills')
edu=request.POST.get('education')
linkedin=request.POST.get('linkedin_id')
print first_name
updated_values={'first_name': first_name}
Consultants.objects.filter(user__username=usr).update(skills=skills, user__first_name=first_name )
return HttpResponse("your account is updated succesfully")
现在,当我执行上述代码时,它会保存技能信息,但会抛出错误消息, Consultants has no field named 'user__first_name
”的字段,我该如何访问OneToOne模型字段
您不能在一个更新语句中更新两个数据库表。 您必须分别更新Consultants
(将其命名为Consultant
pls)和User
模型:
cons = Consultants.objects.filter(user__username=usr)
# update profile model
cons.update(skills=skills)
# update user model
User.objects
.filter(id__in=cons.values_list('user_id', flat=True))
.update(first_name=first_name)
除此之外,我建议您将django模型形式用于Consultant
,为User
添加字段并覆盖save
方法,以保存相关的User
实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.