Я смущен тем, что запрос времени использует его _result_cache
или он напрямую попадает в базу данных.Когда набор запросов использует свой _result_cache, не попадая в базу данных?
Например (в оболочке Python):
user = User.objects.all() # User is one of my models
print(user) # show data in database (hitting the database)
print(user._result_cache) # output is None
len(user) # output is a nonzero number
print(user._result_cache) # this time, output is not None
Итак, мои вопросы:
- Почему
_result_cache
являетсяNone
после удара базы данных? - Выполнено ли задание запроса, что
_result_cache
неNone
? - Когда набор запросов использует его
_result_cache
, не попадая в базу данных?
Спасибо большое !!!!Эта функция 'print()' меня озадачивает в течение длительного времени. – hochun
извините, у меня вопрос. В «repr() будет оценивать набор запросов для включения данных в строковое представление», что означает «строковое представление»? и что это ? (is '_result_cache'?) – hochun
Строковое представление объекта - это то, что вы видите напечатанным на консоли всякий раз, когда вы запускаете' print (obj) '. В случае набора запросов, '' QuerySet [...]> ', где' ... 'содержит фактические данные из отдельных экземпляров модели. – knbk