繁体   English   中英

如何在django中保存编辑配置文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM