def edit_glider(request, matriculation=None): if matriculation is None: return redirect('add_glider') elif request.method == 'POST': glider = get_object_or_404(Glider, matriculation=matriculation) form = GliderForm(request.POST, instance=glider) if form.is_valid(): form.save() return redirect('show_glider', matriculation.upper()) else: edit = True # The temple know if we want to edit or to add a new glider glider = get_object_or_404(Glider, matriculation=matriculation) form = GliderForm(request.POST or None, instance=glider) return render(request, 'hangar/glider/glider_form.html', locals())
def add_glider(request, matriculation=None): # If matriculation is set, it'll be used as a model for a new glider if request.method == 'POST': form = GliderForm(request.POST) if form.is_valid(): form.save() return redirect('show_glider') else: if matriculation is None: form = GliderForm() else: glider = get_object_or_404(Glider, matriculation=matriculation) glider.matriculation = None # Clean the matriculation field form = AirplaneForm(instance=glider) return render(request, 'hangar/glider/glider_form.html', locals())