我試圖讓到10個對象,如:如何在不改變類型的情況下從SearchQuerySet獲取n個搜索對象?
q_auth = SearchQuerySet().filter(content=validate_query)
q_auth = q_auth[:10]
print type(q_auth)
我想輸出是:<class 'haystack.query.SearchQuerySet'>
但我得到的是<type 'list'>
。
有人可以幫我嗎?
我試圖讓到10個對象,如:如何在不改變類型的情況下從SearchQuerySet獲取n個搜索對象?
q_auth = SearchQuerySet().filter(content=validate_query)
q_auth = q_auth[:10]
print type(q_auth)
我想輸出是:<class 'haystack.query.SearchQuerySet'>
但我得到的是<type 'list'>
。
有人可以幫我嗎?
看着source,你會看到q_auth[:10]
返回一個結果列表。 A SearchQuerySet
是懶惰的,並且可能沒有獲得所有結果,除非您使用分片檢索它們,即q_auth[:10]
。
只要做到:
first_results = q_auth[:10]
和訪問與結果:
first_results[0]
我建議不要這樣做:
q_auth = q_auth[:10]
因爲你SearchQuerySet
的q_auth
情況下也不會可用於稍後檢索更多結果。
你爲什麼期望這個類型是'SearchQuerySet'?這是一個列表後續 –
@RohitJain呃..我可以看到OP來自哪裏:[文檔](https://docs.djangoproject.com/en/1.9/topics/db/queries/#limiting-querysets)說它仍然是一個查詢集 – Pynchia
@Pynchia嗯,我明白了。 –