Как передать несколько необязательных параметров в 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.

Код, который я загрузил выше, не дает мне желаемого результата.

Вернуться на верх