Как получить 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 не будет доступен для получения дополнительных результатов позже.

Другие вопросы по тегам