“QuerySet”对象没有属性“email”

1 python django django-forms django-rest-framework

我发现 QuerySet 对象没有属性“电子邮件”的错误。我尽力解决该问题,但找不到解决方案。

from django.http import HttpResponse
from loginsystem.models import newUser
from django.contrib import messages
from django.core.exceptions import MultipleObjectsReturned

 def login(request):
    if request.method=='POST':
        try:
            userdetails=newUser.objects.filter(email=request.POST['email'] , password=request.POST['password'])
            print("username=", userdetails)
            request.session['email']=userdetails.email
            return render(request, 'home.html')
Run Code Online (Sandbox Code Playgroud)

谢谢

Max*_*Max 6

添加.first()您的用户详细信息:

userdetails=newUser.objects.filter(email=request.POST['email'] , password=request.POST['password']).first()
Run Code Online (Sandbox Code Playgroud)

过滤器返回QuerySet[]。是get_object_or_404返回实例,所以你必须使用 来.first()让用户进入QuerySet[],或者使用get_object_or_404.