Поэтому у меня есть переменной сессии, которая имеет шероховатую структуру, как это:Переменные сессии Удаление Django
request.session['selected_courses'] = {
'2': {'num_spots_available': 3,
attendees = [ {'first_name': 'Jon', 'last_name': 'Kan'}, ... ]}
...
}
Каждый ключ под «selected_courses» является конечно идентификатор.
Мне нужно удалить участника i.e {'first_name': 'Jon', 'last_name': 'Kan'}
из выбранного курса. Когда я пытаюсь это сделать, сеанс фактически не удаляет участника. Когда я пытаюсь удалить другого участника, предыдущий участник снова появляется на сессии, даже несмотря на то, что мой код удалил его раньше! Однако после повторного запуска этого кода он, наконец, удаляет участника из сеанса.
Мой код в views.py (я вытащить данные из POST, потому что я делаю запрос AJAX и знать данные не вводятся пользователем):
course_id = str(request.POST['course_id'])
first_name = str(request.POST['first_name'])
last_name = str(request.POST['last_name'])
request.session['selected_courses'][str(course_id)]['attendees'] = [a for a in request.session['selected_courses'][str(course_id)]['attendees']
if a['first_name'] != first_name or a['last_name'] != last_name]
request.session.modified =True
Так что я попробовал запрос .session.modified (как показано выше) вместе с SESSION_SAVE_EVERY_REQUEST = True
и не работал. (Обратите внимание: я до сих пор совершенно новичок в Django).
Спасибо за ваш ответ Daniel! Да, поэтому я попробовал ваше решение, но он все еще не удалял участника. Я попытаюсь изменить структуру данных сеанса и сообщить вам, если он все еще не работает. –