私の Django アプリにはModelChoiceField
、オブジェクトを選択するためのインデックス ビューがあります。送信ボタンをクリックすると、そのオブジェクトを次のビューに渡したいのですが、うまくいきません。
これは私のコードです: ビュー:
def index(request):
args = {}
args.update(csrf(request))
if request.user.is_authenticated():
if request.POST:
form = EquipmentForm(request.POST)
if form.is_valid():
form.save()
request.session['chosen_equipment'] = form.cleaner(self)
return HttpResponseRedirect('/lru/reservation/')
else:
form = EquipmentForm()
args['form'] = form
args['user'] = request.user
args['reservation_list'] = Reservation.objects.all()
return render_to_response('lru/index.html', args)
else:
return HttpResponseRedirect('/lru/login/')
def reservation(request):
if request.POST:
form = ReservationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/lru/')
else:
form = ReservationForm()
form = ReservationForm(initial={'reserved_by': request.user})
args = {}
args.update(csrf(request))
args['form'] = form
args['chosen_equipment'] = request.session.get('chosen_equipment', ' Not found')
return render_to_response('lru/reservation.html', args)
フォーム:
class EquipmentForm(forms.Form):
class Meta:
model = Equipment
equipment = forms.ModelChoiceField(queryset=Equipment.objects.all())
def cleaner(self):
data = self.cleaned_data[equipment]
return data
ここで何が間違っていますか?