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

По какой-то причине объект становится NoneType, хотя до этого происходит проверка:
urls = Info.objects.filter(url=url)
if urls is not None:
   if urls.first().user != request.user:
  • Вопрос задан
  • 472 просмотра
Решения вопроса 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:
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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