Django не сохраняет сессию в cookies, если я не конкатенирую список
Я пытаюсь создать сессию в django следующим образом, но следующее не приводит к обновлению сессии
def index(request):
if not request.user.is_authenticated:
return render(request, "login.html", {"message": None})
if 'foo' not in request.session:
request.session["foo"] = {}
if request.method == 'POST':
form = NewLineItemForm(request.POST)
if form.is_valid():
item = Item.objects.create(name=name)
request.session["foo"][item.id] = item.name
context = {
"foo": request.session['foo'],
"form": NewLineItemForm()
}
return render(request, "index.html", context)
Однако, когда я добавляю следующее к другому ключу в сессии, все, включая исходный ключ (foo), обновляется:
def index(request):
if not request.user.is_authenticated:
return render(request, "login.html", {"message": None})
if 'foo' not in request.session:
request.session["foo"] = {}
if 'task' not in request.session:
request.session['task'] = []
if request.method == 'POST':
form = NewLineItemForm(request.POST)
if form.is_valid():
item = Item.objects.create(name=name)
request.session["foo"][item.id] = item.name
request.session["task"] += ['baz']
context = {
"foo": request.session['foo'],
"form": NewLineItemForm()
}
return render(request, "index.html", context)
Мне интересно, как я могу сохранить то, что задумано в первом блоке, не полагаясь на изменения во втором блоке. Спасибо.