Django ORM извлечение данных из нескольких таблиц
Я новичок в Python и Django, а также. Я пытаюсь использовать Django ORM для извлечения данных из базы данных, но я не могу это сделать. В моей базе данных три таблицы:USER,INVESTMENT_NAME и WALLET. Столбцы в пользовательской таблице - это id(первичный ключ) и name, столбцы в таблице investment_name - это id(первичный ключ) и name, а в таблице кошелька есть user_id(идентификатор ссылки на внешний ключ в пользовательской таблице), inv_id(идентификатор ссылки на внешний ключ в investment_name таблица), дата, количество, сумма и текущая цена. У меня проблемы с получением данных, которые отображают имя пользователя, имя инвестиции, дату, количество, сумму, текущую цену, используя DJANGO ORM, так как я не знаю, как это сделать для нескольких таблиц.
Любые предложения, пожалуйста.
2 ответа
Следует использовать подчеркивание doulble для получения полей отношения ForeignKey (One-To-Many) таблицы и related_name (field_name _set по умолчанию) для доступа к объектам Many-To-One (ForeignKey, который ссылается на таблицу). Есть документы: поиски, которые охватывают отношения
Для исполнения также полезно использовать select_related и http://select_related/.
Выполните запрос Django ORM для таблицы Wallet. Поскольку существует ссылка на внешний ключ для обеих других таблиц в этой таблице, вы можете получить доступ к объектам с помощью методов получения. Например -
w = Wallet.objects.all()
w[0].user.name # This is the username
w[0].investment.name # This is the investment name
w[0].date # This is the wallet date
Используйте официальную документацию Django для более глубокого понимания запросов orm и способов их оптимизации.