Daniel,
first of all I resolved a strange problem of haystack==1.2.1 is not working correctly with Whoosh==1.8.3. After rebuilding index (tried with/without batch option) SearchQuerySet().all().count() returns completely wrong number of documents. Whats over, searching (with auto_query) works unpredictable, resulting with plenty of None's (yes, I read other posts on this group about deleted items and None's, but this is not that issue).
Anyway - I read another post that last known to work version of haystack&whoosh is 1.1.0 + 1.4.0 and this is what I am currently using and seems this is fine.
I've dig into auto_query method, and I still do not understand why this does not work with wildcards. It seems that method clean in 367 line of query.py
cleaned_keyword = clone.query.clean(keyword)
this method does not remove the ' * ' sign from the keyword. I have even put some "print" after this line to get value of cleaned_keyword, and it DID NOT remove * sign.
As far as I understand providing only one keyword to auto_query() will only make clone.filter() on itself
clone = clone.filter(content=cleaned_keyword)
So this behavior should be exactly the same (but it isn't).
>>> SearchQuerySet().filter(content='krzysztof')
[<SearchResult: auth.user (pk=u'5')>, <SearchResult: auth.user (pk=u'55')>]
>>> SearchQuerySet().auto_query('krzysztof')
[<SearchResult: auth.user (pk=u'5')>, <SearchResult: auth.user (pk=u'55')>]
>>> SearchQuerySet().filter(content='krzyszto*')
[<SearchResult: auth.user (pk=u'5')>, <SearchResult: auth.user (pk=u'55')>]
>>> SearchQuerySet().auto_query('krzyszto*')
[]
So really I do not understand - if auto_query('krzyszto*') makes at the end clone.filter('krzyszto*') why the result is empty set?