Получение этого KeyError в действии POST формы. Что я пытаюсь сделать здесь, так это то, что у моих пользователей есть списки, и в эти списки они могут добавлять числовые значения. Здесь я пытаюсь вызвать все определенные списки пользователей в мою форму, где пользователь может выбрать, для какого из его / ее списка они хотят добавить значение.
Форма:
class data_form(forms.Form):
selection = forms.ModelChoiceField(queryset=None)
data = forms.IntegerField()
def __init__(self, *args, **kwargs):
user = kwargs.pop("user")
super(data_form, self).__init__(*args, **kwargs)
self.fields['selection'].queryset = List.objects.filter(user=user)
Просмотры , первая обрабатывает главную страницу, а вторая - для добавления данных
@login_required
def app(request):
form = list_form
form2 = data_form(user=request.user)
user = request.user.pk
user_lists = List.objects.filter(user=user)
list_data = {}
for list in user_lists:
list_data[list.name] = DataItem.objects.filter(list=list)
context = {'user_lists': user_lists, 'form': form, 'form2': form2, 'list_data': list_data}
return render(request, 'FitApp/app.html', context)
@require_POST
def addData(request):
form = data_form(request.POST)
if form.is_valid():
new_data = DataItem(data=request.POST['data'], list=List.objects.get(id=request.POST['selection']))
new_data.save()
return redirect('/app/')