ValueError при сравнении входных значений с объектом базы данных
Я хочу сравнить вводимые данные формы со значением базы данных. Например:
Есть поле ввода под названием password ... и я хочу сравнить вводимое значение с паролем в базе данных (в случае, если я уже знаю строку (id))
Но когда я сравниваю его, я получаю valueerror как это. гуглил около 2 часов и ничего не работает. Я новичок в django. Надеюсь, кто-нибудь сможет мне помочь :D
Вот мой код представления
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')