Задать вопрос
@paevlk2007

Django, как сделать отчет с группировкой по вертикали и горизонтали, как в Excel — Сводная таблица?

Все привет!

Нужно сделать отчет template в Django:

views.py
def accessories(request, template_name="accessories.html"):
    accessories = Accessories.objects.all().order_by('-created_on')
    ctx = {'accessories': accessories}
    return render(request, template_name, ctx)

template
{% for accessorie in accessories %}
    {{ accessorie.plot }}                       --> Участок
    {{ accessorie.equip }}                     --> Оборудование
    {{ accessorie.work }}                      --> Работа
    {{ accessorie.user }}                       --> Пользователь
    {{ accessorie.created_on|date:"d-m-Y" }} --> Дата
{% endfor %}

Участок № 1 | Оборудование № 1 | Работа № 1 | Сидоров | 02.07.2014
Участок № 1 | Оборудование № 2 | Работа № 2 | Иванов | 02.07.2014
Участок № 2 | Оборудование № 3 | Работа № 3 | Петров | 03.07.2014
Участок № 2 | Оборудование № 3 | Работа № 1 | Сидоров | 04.07.2014

Отчет как в Excel, только нужно в Django, см. файл

ВОПРОС: ВОЗМОЖНО ЛИ СДЕЛАТЬ ТАКОЙ ОТЧЕТ В DJANGO, как организовать это в шаблонах? В ОТЧЕТЕ УЧАСТВУЮТ 2-е ГРУППИРОВКИ, строки и колонки.
Есть regroup но он группирует по одному значению.

6d4b5726126c49b0b3141c2cdcbe5992.PNG
  • Вопрос задан
  • 3019 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@paevlk2007 Автор вопроса
Проблема решена с помощью django-pandas.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
syschel
@syschel
freelance/python/django/backend
Самое простое
.order_by('created_on', 'plot', 'equip')

З.Ы. Для группировки есть ещё .annotate()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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