Удаление экземпляра в django ModelForm

Я пытаюсь удалить экземпляр формы в django ModelForm, но он не удаляется, хотя часть обновления работает отлично.

my views.py:

def update_component(request, pk):
    component = Component.objects.all()
    component_id = Component.objects.get(id=pk)
    form = ComponentModelForm(instance=component_id)
    if request.method=='POST' and 'form-update' in request.POST:
        form = ComponentModelForm(request.POST,request.FILES, instance=component_id)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(request.path_info)
    if request.method=='POST' and 'form-delete' in request.POST:
        form.delete()
        return redirect('/maintenance')
    context = {
        'components': component,
        'form': form,
        'component_id':component_id,
    }        
    return render(request, 'update_component.html', context)

форма удаления:

    <form class="component-delete-button"><input name="form-delete" type="submit"
    class="button1" value='Delete Component' /></form>

Для удаления элемента вам не нужна форма: форма - это способ обработки ввода HTML-формы и преобразования его в данные, более доступные для Python.

В случае удаления, вы удаляете экземпляр, так:

def update_component(request, pk):
    component = Component.objects.all()
    component_id = Component.objects.get(id=pk)
    form = ComponentModelForm(instance=component_id)
    if request.method=='POST' and 'form-update' in request.POST:
        form = ComponentModelForm(request.POST,request.FILES, instance=component_id)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(request.path_info)
    if request.method=='POST' and 'form-delete' in request.POST:
        component_id.delete()
        return redirect('/maintenance')
    context = {
        'components': component,
        'form': form,
        'component_id':component_id,
    }        
    return render(request, 'update_component.html', context)
Вернуться на верх