如何访问和修改SearchQuerySet(HayStack)?

时间:2018-01-18 14:47:07

标签: python django

我遇到了干草堆的问题。当我使用我的模型进行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值相关联。

0 个答案:

没有答案