ValueError при сравнении входных значений с объектом базы данных

Я хочу сравнить вводимые данные формы со значением базы данных. Например:

Есть поле ввода под названием password ... и я хочу сравнить вводимое значение с паролем в базе данных (в случае, если я уже знаю строку (id))

Но когда я сравниваю его, я получаю valueerror как это. гуглил около 2 часов и ничего не работает. Я новичок в django. Надеюсь, кто-нибудь сможет мне помочь :D enter image description here

Вот мой код представления

id      = modelUser.objects.values('id').filter(username=txtUsername)
checkPassword = modelUser.objects.values('password').filter(username=txtUsername)

if(txtPassword == checkPassword.password):
    return render(request,'success.html')
            

Models.py

class modelUser(models.Model):
    firstname = models.CharField(max_length=200, null=False, blank=False)
    lastname = models.CharField(max_length=200, null=False, blank=False)
    username = models.CharField(max_length=200, null=False, blank=False)
    password = models.CharField(max_length=200, null=False, blank=False)
    def __str__(self):
        return self.username

Во-первых, я бы посоветовал прочитать документацию Django по как подставить пользовательскую модель User и как войти в систему пользователя.

Но в связи с вашей текущей проблемой, вы хотите получить экземпляр объекта (используя ввод 'txtUsername'), получить доступ к его атрибуту пароля и затем проверить его на соответствие введенному паролю пользователя:

from django.shortcuts import get_object_or_404

obj = modelUser.objects.get_object_or_404(username=txtUsername)
if obj.password == txtPassword:
    return render(request,'success.html')
Вернуться на верх