Django queryset изначально остается пустым, но заполняется после создания объекта без повторного выполнения запроса. Как такое возможно? [дубликат]
Я столкнулся с недоуменной проблемой в своем Django-приложении. У меня есть набор запросов (qs), полученный из запроса к базе данных в начале вызова DRF api. Странно, но при осмотре этот queryset кажется пустым. Однако, продолжая выполнение кода, я создаю объект для той же модели без повторного запуска queryset, и, к моему удивлению, queryset внезапно заполняется вновь созданным объектом.
Вот упрощенная версия того, что я испытываю:
# Initial queryset
initial_qs = MyModel.objects.filter(some_condition=True)
# At this point, initial_qs appears empty when I print it or inspect its contents
# Creating an object without re-running the queryset
new_object = MyModel.objects.create(some_field='value')
# Now, if I print initial_qs or inspect its contents again, it contains the newly created object
# How is it possible that the queryset remains empty initially but populates later without re-running the query?
Есть ли что-то, что я упускаю из виду в механизме кэширования ORM в Django или в том, как работает оценка кверисетов?