Как получить n поисковых объектов из SearchQuerySet без изменения типа?
Я пытаюсь получить до 10 объектов, таких как:
q_auth = SearchQuerySet().filter(content=validate_query)
q_auth = q_auth[:10]
print type(q_auth)
Я хочу получить вывод: <class 'haystack.query.SearchQuerySet'>
но я получаю это <type 'list'>
,
Может кто-нибудь, пожалуйста, помогите мне?
2 ответа
Я пробовал что-то похожее на ваш код, но получилось следующее:
<class 'django.db.models.query.QuerySet'>
Исходя из того, что у вас есть, я думаю, вы можете попробовать что-то вроде:
print type(q_auth[0])
Глядя на источник, вы увидите, что q_auth[:10]
возвращает список результатов. SearchQuerySet
ленив и может не иметь всех результатов, пока вы не получите их с нарезкой, т.е. q_auth[:10]
,
Просто делать:
first_results = q_auth[:10]
и получить доступ к результату с помощью:
first_results[0]
Я рекомендую не делать этого:
q_auth = q_auth[:10]
потому что ваш экземпляр q_auth
из SearchQuerySet
не будет доступен для получения дополнительных результатов позже.