Нужно создать session в django c разными значениями ключей в через нажатие одной кнопки

У меня задача

Получить от посетителя название актива и его период.

С этим проблем нет. Затем нужно эти полученные данные где-то хранить? Раз у меня все пользователи анонимные, то буду хранить данные в session. Так как session - это тип данные схожий со словарем, мне нужно создавать разные ключи, для каждого набора полученных данных например:

dict_items([('1', ['FXUS', '2022-02-03', '2022-02-20']), ('2', ['FXUS', '2022-02-02', '2022-02-20'])

Имея разные названия ключей в словаре, я смогу управлять данными, а если они будут в формате:

dict_items = {'session_data': ['FXUS', '2022-01-01', '2022-01-15', 'FXRL', '2022-01-05', '2022-01-17']}

Мне будет не удобно

Для того что иметь удобный мне формат, нужно создавать ключи с разным названием, я решил, что самый удачный вариант - это сделать счетчик нажатий посетителем на кнопку, как раз число нажатий и будет оригинальным названием ключа в словаре, но меня не выходит это реализовать, не понимаю почему.

Код шаблона:

 <form method="post">
        {% csrf_token %}

        <select name="selected_asset">
            <option selected="selected">Активы</option>
            {% for asset in assets %}
            <option> {{ asset.name }}</option>
            {% endfor %}
        </select>

        <p>
            От: <input type="date" name="start_date" >
        </p>
        <p>
            До: <input type="date" name="end_date" >
        </p>

        <input type="submit" value="Добавить">

    </form>

Код Views

kol = 0

    def post(self, request, *args, **kwargs):

        assets = Assets.objects.all()

        global kol

        if request.method == 'POST':
            selected_asset = request.POST['selected_asset']  # получаем указанный актив
            start_date = request.POST['start_date']  # получаем указанную дату
            end_date = request.POST['end_date']  # получаем указанную дату
            kol += 1

            request.session[kol] = [selected_asset]
            request.session[kol].append(start_date)
            request.session[kol].append(end_date)

Выдает ошибку

введите сюда описание изображения

Если переменная исспользуется в шаблоне (kol в данном случае), она должна быть добавлена в возврат функции вида (view). Но в данном случае, полагаю, это не поможет, так как переменная должна меняться, значит её нужно поместить либо в сессию, либо в куки, либо в жабу.

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