В моем представлении есть несколько строк кода, которые получают параметр запроса и затем фильтруют его по этому параметру.
search = request.GET.get('search', None)
if search:
accounts = UserProfile.objects.filter(fullname__icontains=search).order_by('fullname')
else:
accounts = UserProfile.objects.all().order_by('fullname')
По какой-то странной причине на моей локальной машине кажется, что когда ядать URL-адрес типа localhost/accounts/admin/
или localhost/accounts/admin/?search=
, он работает нормально - на моем производственном сервере, однако, кажется, что поиск пустая строка, а затем он передает условное условие if / then, которое возвращает пустоеQuerySet.GET:<QueryDict: {u'search': [u'']}>
Почему python, кажется, думает, что эта пустая строка является «чем-то?»
>>> x = ''
>>> if x:
... print "Exists"
... else:
... print "None"
...
None
>>> x = u''
>>> if x:
... print "exists"
... else:
... print "None"
...
None