Python 为什么我的多选表单字段只提交一个值Django?
无法让此表单提交/保存来自“我的多个选择表单”字段的多个输入Python 为什么我的多选表单字段只提交一个值Django?,python,django,Python,Django,无法让此表单提交/保存来自“我的多个选择表单”字段的多个输入 def StaffHome(request): dates = request.user.availability_set.all() bookings = request.user.booking_set.all() if request.method == 'POST': if 'remove' in request.POST: form = RemoveDate(request.user, reque
def StaffHome(request):
dates = request.user.availability_set.all()
bookings = request.user.booking_set.all()
if request.method == 'POST':
if 'remove' in request.POST:
form = RemoveDate(request.user, request.POST)
if form.is_valid():
for d in form.cleaned_data['date']:
for i in dates:
if d == str(i.dates):
i.delete()
return redirect('main-home')
elif 'add' in request.POST:
form = AddDate(request.user, request.POST)
if form.is_valid():
for d in form.cleaned_data['date']:
Availability.objects.create(user=request.user, dates=d)
return redirect('main-home')
context = {
'today': datetime.datetime.now().date(),
'bookings': bookings,
'form': AddDate(request.user),
'form2': RemoveDate(request.user),
'dates': dates
}
return render(request, 'users/staffhome.html', context)
我尝试使用request.POST.getlist('date'),但抛出了一个方法对象不可订阅错误。您返回的位置是否正确,请检查
def StaffHome(request):
dates = request.user.availability_set.all()
bookings = request.user.booking_set.all()
if request.method == 'POST':
if 'remove' in request.POST:
form = RemoveDate(request.user, request.POST)
if form.is_valid():
for d in form.cleaned_data['date']:
for i in dates:
if d == str(i.dates):
i.delete()
return redirect('main-home')
elif 'add' in request.POST:
form = AddDate(request.user, request.POST.getlist('add'))
if form.is_valid():
for d in form.cleaned_data['date']:
Availability.objects.create(user=request.user, dates=d)
return redirect('main-home')
context = {
'today': datetime.datetime.now().date(),
'bookings': bookings,
'form': AddDate(request.user),
'form2': RemoveDate(request.user),
'dates': dates
}
return render(request, 'users/staffhome.html', context)
你回来的地方对吗,请检查一下
def StaffHome(request):
dates = request.user.availability_set.all()
bookings = request.user.booking_set.all()
if request.method == 'POST':
if 'remove' in request.POST:
form = RemoveDate(request.user, request.POST)
if form.is_valid():
for d in form.cleaned_data['date']:
for i in dates:
if d == str(i.dates):
i.delete()
return redirect('main-home')
elif 'add' in request.POST:
form = AddDate(request.user, request.POST.getlist('add'))
if form.is_valid():
for d in form.cleaned_data['date']:
Availability.objects.create(user=request.user, dates=d)
return redirect('main-home')
context = {
'today': datetime.datetime.now().date(),
'bookings': bookings,
'form': AddDate(request.user),
'form2': RemoveDate(request.user),
'dates': dates
}
return render(request, 'users/staffhome.html', context)
你是对的!谢谢你,我不知道我怎么会错过那一次。这种事有时会发生。你是对的!谢谢你,我不知道我怎么会错过这个。它有时会发生。根据它看来,你需要使用
request.POST.getlist('date[])
才能让这个方法工作。根据它看来,你需要使用request.POST.getlist('date[])
才能让这个方法工作。