def finder(self): completion_values = [] search_term = self.search_field.text() try: contacts = PhoneNumber.filter(number__icontains=int(search_term)) except ValueError: contacts = Contact.filter(name__icontains=search_term) for contact in contacts: completion_values.append(contact.__unicode__()) completer = QtGui.QCompleter(completion_values, parent=self) completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) completer.setCompletionMode(QtGui.QCompleter.UnfilteredPopupCompletion) self.search_field.setCompleter(completer)