Если friend_q не является пользователем в базе данных, to_friend будет равен пустому списку.
>>> from django.contrib.auth.models import User
>>> User.objects.filter(username='does-not-exist')
[]
Однако лучше использовать метод get () для поиска конкретной записи:
>>> User.objects.get(username='does-exist')
<User: does-exist>
>>> User.objects.get(username='does-not-exist')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.5/django/db/models/manager.py", line 120, in get
File "/usr/lib/python2.5/django/db/models/query.py", line 305, in get
DoesNotExist: User matching query does not exist.
Теперь вы можете перехватить исключение DoesNotExist и предпринять соответствующие действия.
try:
to_friend = User.objects.get(username=friend_q)
except User.DoesNotExist:
# do something, raise error, ...