Почему при записи QuerySet в переменную приходит пустота (django console)?
такая проблема: Делаю проект на django. В процессе проверяю некоторые вещи, используя интерактивную консоль django, и вот какую проблему я заметил:
Есть объект x
- Объект модели, у него есть связанные значения в модели subscribeperiod_set
Если я просто запущу
x = Subscribe.objects.first() # Subscribe - Моя модель.
x.subscribeperiod_set.all().order_by('start')
То все отлично работает, я получаю QuerySet
с нужными мне данными.
НО! Если я всего лишь добавлю в начало второй строки q =
(сохраню этот QuerySet в переменную), то в ней окажется ПУСТОЙ QuerySet
x = Subscribe.objects.first() # Subscribe - Моя модель.
q = x.subscribeperiod_set.all().order_by('start')
# q = <QuerySet []>
Почему я не могу сохранить querySet в переменную? так же очевидно не должно работать?
P.S. Как я заметил, такое поведение работает только со связаными через имя_модели_set
Данными. Прямой запрос к другой таблице через Модель.objects.all()
в переменную записывается без проблем
Сравнение query у QuerySet'ов: