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