Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
178 views
in Technique[技术] by (71.8m points)

python - Fieldset values displaying in profile page but if another person registered it showing error in profile page -django

I have member table for registered persons. I want to display that member table values of particular person in profile page who is logged in. I used Member.objects.get() data is displaying in the profile page of the person who is logged in. but if another person registered it showing error in profile page like.

this is my error

    MultipleObjectsReturned at /web/profile/
    get() returned more than one Member -- it returned 2!

this is my views.py

    def profile(request):
        member = Member.objects.get()
        print(member.Email)
        return render(request, 'web/profile.html',{'member':member} )

here is my member model.py

class Member(models.Model):
  fullname=models.CharField(max_length=30)
  companyname=models.CharField(max_length=30)
  Email=models.CharField(max_length=50)
   password=models.CharField(max_length=12)
   contactno = models.CharField(max_length=30,default='anything')
question from:https://stackoverflow.com/questions/65883078/fieldset-values-displaying-in-profile-page-but-if-another-person-registered-it-s

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

get() is supposed to return only one object, thus you need to filter it in order to make the returned object unique.

Also, to make sure your user is authenticated, use @login_required.

Assuming your Member model has a ForeignKeyField with the User, and you want to filter Member so it matches the current logged in user:

from django.contrib.auth.decorators import login_required

@login_required
def profile(request):
    member = Member.objects.get(user=request.user)
    print(member.Email)
    return render(request, 'web/profile.html',{'member':member} )

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...