我遇到了干草堆的问题。当我使用我的模型进行nitialize时,给我一个类型为SearchQuerySet的列表:
def sqs_query(self, sqs):
q = self.request.QUERY_PARAMS.get('q', '')
results = sqs.filter(content=q)
pdb.set_trace()
sorted = sort(results)
return sorted
def get_queryset(self):
sqs = self.sqs_query(self.sqs_models(SearchQuerySet()))
return sqs
(pdb) type(results)
<class 'haystack.query.SearchQuerySet'>
我可以获得位置0:
(pdb) results[0]
<SearchResult: article.article (pk=u'5')>
但我无法指定:
(pdb) results[0] = results[1]
*** TypeError: 'SearchQuerySet' object does not support item assignment
我需要修改列表的位置以订购列表。 order_by()
对我没有帮助,但我需要计算自己的值来进行比较。每个结果都有一个title
字。我将使用字符串q
计算Levenshtein_distance,并且每个结果都会与diferente值相关联。