@san7667

Многоуровневое соединение таблиц ORM?

Добрый день!
Я новичок в Django и столкнулся с проблемой..
Остряков и метателей на сайт с документацией (я там смотрел уже) убедительная просьба сдержаться и просто не отвечать на мой глупый вопрос!

Вопрос:
Как соединить несколько таблиц в формате:
А к B + B к С связанные между собой поэтапно, в одном queryset?
Детально представлено на скриншоте..
Знаю про select_related, но там соединение "родительская-дочерняя", мне нужно поэтапно соединить 3 таблицы..

Хочу что то типа такого:
SELECT ..., konkursants.fio
FROM konkurs_result
LEFT JOIN konkurs_k ON (konkurs_k.id=konkurs_result.konkurs_k_id)
LEFT JOIN konkursants ON (konkursants.id=konkurs_k.konkursants_id)


65155f8935940676361473.png
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
nnnLik
@nnnLik
Capybara god
Можно использовать annotate для queryset и добавить таким образом связанные модели. Ну и наверное получится обычным select_related

queryset = konkurs_result.objects.select_related('konkurs_k__konkursants')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@maksam07
В джанго можно использовать сырые запросы к БД

По теме можно посмотреть такие материалы:
https://stackoverflow.com/questions/51379755/selec...
https://stackoverflow.com/questions/64708940/djang...
https://stackoverflow.com/questions/69139749/how-t...

На счет нейминга таблиц и полей говорить ничего не хочу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы