Queryset выбран в поле зрения и передан в шаблон - PullRequest
0 голосов
/ 24 октября 2018

Что произойдет, если набор запросов, который уже был оценен в представлении, передается в шаблон?Итерация по нему будет использовать кеш или он вызовет другой запрос БД?

views.py

books = Books.objects.all()
len (books) #from db
for book in books: # from cache
    ....

template

for book in books: #uses cache or db?
    ....

1 Ответ

0 голосов
/ 26 октября 2018

Запускает еще один запрос к БД.Попробуйте отправить данные в формате JSON, который не будет выполнять запросы к БД и будет намного быстрее.

Или вы можете сделать:

books = Books.objects.values() // this will returns dictionaries
books = Books.objects.value_list() // this returns tuples when iterated over.

Если у вас большой набор данных, тогдаперейти к шаблону рендеринга с набором запросов.Но для небольших данных это работает просто отлично.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...