Запросы к модели django
Мне необходимо взять все данные из модели и осуществить проверку. Если переменная id не совпадает со значением в поле user_id в модели то необходимо выполнять return render(request, 'index/telegram.html') Код:
id = request.GET["id"]
user_id = users.objects.get(user_id=id)
if(user_id != ""):
phonenumber = user_id.phonenumber
request.session['phonenumber'] = phonenumber
else:
return render(request, 'index/telegram.html')
В таком случае выдаётся ошибка если user_id!=id, а мне надо создать проверку на совпадение переменной id со значениями в поле модели user_id
Ответы (1 шт):
Первая проблема - users.objects.get(user_id=id). Должно быть так User.objects.get(user_id=id), если вы используете стандартную таблицу пользователей django.
Далее функция get возвращает объект пользователя, если такой существует в БД. Если же объекта с таким идентификатором не существует, то функция бросает исключение. Вам его нужно обработать.
Еще одно некритичное замечание: get возвращает объект пользователя, поэтому переменную лучше назвать user, а не user_id.
Итого имеем:
id = request.GET["id"]
try:
user = User.objects.get(user_id=id)
phonenumber = user.phonenumber
request.session['phonenumber'] = phonenumber
except User.DoesNotExist:
return render(request, 'index/telegram.html')