В главный QuerySet должно подгрузиться поле name из таблицы переводов
Делаю так
list(модель.objects.select_related(depth=1).all())
Затем данные кэшируются.
Из кэша я пока не читаю, а только пишу туда.
Если без select_related то потом вообще не пиклится и жестко сваливается…
Пустой результат предположительно из-за Translation.
Там действительно, в отличие от остальных, не все записи имеют переводы.
Но нужно, чтобы несмотря на отсутствие переводов возвращались все записи, и если перевода имени нет то name=default (default='нет перевода'). Но default не из таблицы, а из модели, т.к. в таблице нет нужных записей.
И еще. Если закоментировать только кэширование, т.е. не делать пиклинг, то тот же самый код возвращает не пустой список с переводами.
Такое впечатление, что операция сохранения данных в кэше сессии портит один из QuerySet, который был прочитан до этого.
request.session = объект, содержащий много QuerySet
В чем тут подвох?
Как это сделать?
2) Вот тут http://docs.djangoproject.com/en/dev/ref/models/querysets/#pickling-querysets
про Pickling QuerySets написано, но очень кратко и ничего про select_related в этой связи.
Там пара параграфов и пример в четыре строки.
Я его не понял…
# Assuming ‘s’ is the pickled string.
что такое в данном случае pickled string? да и прочее мутновато.
Растолкуйте пример понятнее.