0
0 комментариев

Делаю веб-сайт на Django, база данных Postgresql

Есть следующие таблицы в БД:

  1. Факультет

    • Id
    • Название
  2. Кафедра

    • Id
    • Название
    • Факультет
  3. Преподаватель
    • Id
    • Имя
    • Кафедра
  4. Книжные издания
    • Преподаватель
    • Название
    • Издатель
    • Год издания

Нужно вывести эти данные на страницу в иерархическом виде:

  1. Химический факультет
    1. Кафедра органической химии
      • Садулаев А.Б.
        Книжное издание этого преподавателя
        Книжное издание этого преподавателя
      • Богомоев А.П.
        Книжное издание этого преподавателя
        Книжное издание этого преподавателя
    2. Кафедра биомолекулярной химии
      • Болтукаев А.А.
        Книжное издание этого преподавателя
        Книжное издание этого преподавателя
      • Махов Б.В.
  2. Механико-математический факультет
    1. Кафедра прикладной математики
      • Колмогоров А.Н.

Какой лучше способ это сделать?

Я вижу пока один вариант:

Получить все данные в одном sql запросе с помощью inner-join
Факультет Кафедра Преподаватель Издание
Химический Биомолек. Болтукаев Издание
Химический Биомолек. Болтукаев Издание
Химический Биомолек. Махов Издание
Математ

Потом результат этого запроса обработать в python и представить его в иерархическом виде (список списков), делая кучу циклов


Добавить комментарий