Использование полей моделей prefetch_related в окончательных значениях набора запросов django - PullRequest
0 голосов
/ 02 декабря 2018

В моем наборе запросов ниже "table2" prefetch_related.

Когда я использую «only ()» для выборки в качестве объекта поля, я могу получить записи таблицы 2 и выполнить итерацию.Но когда я использую значения, я получаю table1_id для table2 (предварительно выбранный) в окончательном выводе.

table1 имеет отображение многих полей с table2.

Я могу попробовать instance .__ dict __ чтобы получить подобный эффект.Но это не дает многим, ни чужим полям, ни заранее подобранным моделям. getattr (model_instance, name) , где name - строка, дает значение для получения значения на основе строкового параметра.Было бы легко, если бы это было достигнуто с помощью значений ().

В любом случае, я могу использовать значения и получать записи таблицы2 в виде списка или других объектов.Возможно ли это?

queryset = table1.objects.prefetch_related(Prefetch('table2',
                    queryset=Table2.objects.only('name'))).values(
                    'id',
                    'name',
                    'description',        
                    'table2',                
                    ).order_by('id')

Ценю ваш ответ.

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