Как передать несколько необязательных параметров в Django views.py
Я хочу знать, как эффективно писать код, когда в одной функции в Django views.py есть несколько операторов if. Эта функция касается статистики, есть таблица из 6 статистик, расположенных вертикально в формате карточки.
Переменныепять и шесть имеют разные значения в зависимости от параметра.
def statistic(requests):
one = Student.objects.filter(...)
two = Teacher.objects.filter(...)
three = Subject.objects.filter(...)
four = Assignment.objects.filter(...)
team_parameter = request.GET.get('team')
if team_parameter == 'ALL':
five = Student.objects.filter(...)
else:
five = Student.objects.filter(team=team_parameter, ...)
option = request.GET.get('option')
from = request.GET.get('from_date')
to = request.GET.get('to_date')
if option == 'total':
six = Subject.objects.filter(...)
else:
six = Subject.objects.filter(register_date__gte=from, register_date__lte=to, ...)
return render(request, 'stats.html', {'one': one, 'two': two, 'three': three, 'four': four, 'five': five, 'six': six})
При входе на страницу статистики отсутствует значение request.GET, а параметры можно задать в выпадающем списке из 5 или 6 таблиц. Причем 'ALL' для таблицы 5 и 'total' для таблицы 6 установлены как значения по умолчанию. И когда я выбираю другой параметр в таблице 5 или 6, при изменении данных таблицы, содержимое таблиц 1, 2, 3 и 4 не исчезает, а значения должны выводиться постоянно. Я не знаю, как задать позицию оператора if и return.
Код, который я загрузил выше, не дает мне желаемого результата.