Задать вопрос

Почему ошибка 'NoneType' object has no attribute 'user'?

По какой-то причине объект становится NoneType, хотя до этого происходит проверка:
urls = Info.objects.filter(url=url)
if urls is not None:
   if urls.first().user != request.user:
  • Вопрос задан
  • 504 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 1
@mrxor
Simple is better than complex
if urls is not None - всегда True потому что .filter(url=url) возвращает Queryset - он всегда не None.
Используйте Info.objects.filter(url=url).first() - чтобы получить объект или None
Если нужно проверять есть ли что-то в queryset'e используйте .exists()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
skipirich
@skipirich
проходил мимо
попробуй вот так
urls = Info.objects.filter(url=url).first()
if urls is not None:
   if urls.user != request.user:
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы