Как сформировать вывод элементов по алфавиту с группировкой?

Добрый день, прошу прощения если мой вопрос слишком глуп, но вот какая у меня задача:
У меня есть модель с книгами, там к примеру загружено 2000 объектов. Мне нужно сформировать на странице некий каталог элементов по алфавиту с группировкой на первую букву:
А:
Название
Название
Название
Б:
Название
Название
Название
В:
Название
Название
Название

Как подобное реализовать?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
WStanley
@WStanley
Back-end Developer
Например raw запросом можно это получить
https://docs.djangoproject.com/en/3.1/topics/db/sq...
books = Books.objects.raw(
    """SELECT id, name FROM            
    (
        SELECT DISTINCT NULL AS id, LEFT(name, 1) AS name FROM Books
        UNION ALL
        SELECT DISTINCT  id, name FROM  Books AS Books1
        ORDER BY name
    ) AS t1
    ORDER BY name""")

for book in books:
    print(book.id)
    print(book.name)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы