def game_modify(request, gameid=None, qmod=False): question_form = None inst = None if gameid != "new": inst = Game.objects.get(id=gameid) questions = Question.objects.all() question_form = QuestionForm() fields = {} our_questions = inst.questionforgame_set for question in questions: fields["%s" % question.id] = BooleanField(label=question.uniq_name, required=False, widget=CheckboxInput) fields["%s_required" % question.id] = BooleanField(label=" %s povinne" % question.uniq_name, required=False, widget=CheckboxInput) if question in [ que.question for que in our_questions.all() ]: fields["%s" % question.id].initial = True if our_questions.get(question=question).required: fields["%s_required" % question.id].initial = True question_form.setFields(fields) if request.method == 'POST': if qmod: form = QuestionForm() fields={} for question in Question.objects.all(): fields["%s" % question.id] = BooleanField(label=question.uniq_name, required=False, widget=CheckboxInput) fields["%s_required" % question.id] = BooleanField(label=" %s povinne" % question.uniq_name, required=False, widget=CheckboxInput) form.setFields(fields) form.setData(request.POST) form.validate(request.POST) if form.is_valid(): form.save(gameid) return HttpResponseRedirect('/admin/games/') else: form = GameForm(request.POST, instance=inst) print "We should end here" if form.is_valid(): form.save() return HttpResponseRedirect('/admin/games/') else: form = GameForm(instance=inst) return render_to_response('admin/gameform.html', {'form': form, 'gameid': gameid, 'menuitems' : createMenuItems(), 'user' : request.user, 'title' : "Editace hry", 'questions' : question_form})