Как получить конкретные данные из моделей django?

Я пытаюсь получить запись из модели django, где email=некоторые POST-данные и pass=почтовые данные. вот мой models.py

class candidate(models.Model):
    fname=models.CharField("First name ",max_length=20,default="")
    lname=models.CharField("Last name ",max_length=20,default="")
    email=models.EmailField("Email ",max_length=254,primary_key=True)
    password=models.CharField("Password ",max_length=100,default="")
    
    def __str__(self):
        return self.fname+" " +self.lname

и в views.py

def login(request):
    print("hello login")
    if request.method=='POST':
        user=request.POST['radioBtn']
        print(user)
        try:
            user=request.POST['radioBtn']
            print(user)
            if(user=="Candidate"):
                print("candidate login")
                udetails=candidate.objects.get(email=request.POST['emails'],password=request.POST['passwd'])
               
        except:
            messages.error(request,'login failed...')
            return render(request,'login.html')
    return render(request,'login.html')

здесь я использовал get(email=request.POST['emails'],password=request.POST['passwd']) для получения записей, но он не работает здесь, но мне интересно, я использовал тот же способ для получения записей в другом проекте и он работал...

Есть ли способ получить конкретную запись, сравнивая данные, которые мы получили из почтового запроса, и отобразить только эту запись? Как мы делали в mysql, например select * from table where email=someemail and pass=somepasswd ...?

Убедитесь, что в вашем файле views.py нет опечаток:

udetails=candidate.objects.get(email=request.POST['emails'],password=request.POST['passwd'])

А имена полей в вашем html/models.py также emails и passwd, а не email и password?

Вы можете проверить входящий запрос следующим образом:

def login(request):
   print(request.POST)
   # ...
Вернуться на верх