У меня есть следующая модель:
class CompanyReport(models.Model):
company = models.CharField(max_length=300)
desc = models.TextField()
text = models.TextField()
date = models.DateTimeField()
- Существует набор компаний
- В каждой компании есть субъект, называемый
report
- Можетбыть кратным
reports
в year
для одной и той же компании
Я хочу сделать multilevel dropdown
меню.
- На первом уровнетам будут названия компании.
- Когда мы нажимаем на название, появляется список лет, за которые компания подала отчеты.
- Когда мы нажимаем на конкретный год, там будетбыть списком всех отчетов за этот год.
Когда я работал в php
, я мог сделать это, используя 3 разных запроса.
- Первыйзапрос содержал название компаний и количество лет, в течение которых они подавали отчет
- Второй запрос содержал количество отчетов для конкретной компании в год
- Третий запрос содержал все отсортированные отчетыпо названию компании в порядке возрастания.
Я только что побежал 3 neцикл sted, 1 для числа компаний, другой для количества лет для этой компании и последний для количества отчетов для компании за год, а затем я просто отобразил следующий отчет из списка.
Я могу сделать то же самое, используя Manager.raw
, но я не могу перебирать объекты в шаблоне, потому что доступна только эта операция {% for obejct in object_list %}
.Мне нужны две вещи
- Путь к
number based for loop
- Эквивалент этого php
$row = mysql_fetch_array($query);
, который просто получает следующий кортеж из списка запросов.
Ожидаемый вывод Тип вывода, который я хочу показать, представлен на скриншоте, который я загрузил.
Любая помощь очень важна.