1

我正在尝试获得 10 个对象,例如:

q_auth = SearchQuerySet().filter(content=validate_query)
q_auth = q_auth[:10]
print type(q_auth)

我想要的输出是:<class 'haystack.query.SearchQuerySet'>但我得到的是<type 'list'>.

有人可以帮我吗?

4

2 回答 2

1

我尝试了类似你的代码的东西,但得到了这样的输出:

<class 'django.db.models.query.QuerySet'>

根据您所拥有的,我认为您可以尝试以下方法:

print type(q_auth[0])
于 2015-12-12T14:02:52.377 回答
0

查看source,您将看到它q_auth[:10]返回结果列表。ASearchQuerySet是懒惰的,并且在您使用切片检索它们之前可能没有所有结果,即q_auth[:10].

做就是了:

first_results = q_auth[:10]   

并通过以下方式访问结果:

first_results[0]

我建议不要这样做:

q_auth = q_auth[:10]

因为您的实例q_auth以后SearchQuerySet将无法用于检索更多结果。

于 2015-12-12T22:00:10.947 回答