我试图让到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嗯,我明白了。 –