Данные не удаляются со страницы CRUD и также не удаляются в базе данных

Привет я новичок в django и я делаю CRUD операции, я успешно завершил CRU, осталось только удалить, я пытаюсь SOFT DELETE данные. Ниже приведена моя функция del_cat:

def del_cat(request,id):
    delcategory = Categories.objects.get(id=id)
    delcat={}
    delcat['isactive']=False
    form = CategoriesSerializer(delcategory,data=delcat)
    if form.is_valid():
        print(form.errors)
        form.save()
        messages.success(request,'Record Deleted Successfully...!:)')
        return redirect('categories:show_cat')
    else:
        print("sfsdrf",form.errors)
        return redirect('categories:show_cat')
    

ниже приведен путь к урлам

enter image description here

Ниже приведен путь href для кнопки удаления enter image description here

все же данные не удаляются и остаются в базе данных, в чем может быть проблема в коде?

Я не знаю, почему вы используете здесь форму. Является ли is_valid истиной?

я бы сделал это с помощью POST (из соображений безопасности) (django-antipattern)

так в шаблоне:

<form method='POST' action='categories/del_cat/{{result.id}}'>
    {{ csrf-token }}
    <button type="submit">DELETE</button>
</form>

и в представлении:

from django.views.decorators.http import require_POST

@require_POST
def del_cat(request,id):
    try:
        delcategory = Categories.objects.get(id=id)
        delcategory.isactive = False
        delcategory.save()
        messages.success(request,'Record Deleted Successfully...!:)')
        return redirect('categories:show_cat')
    except ObjectDoesNotExist:
        messages.success(request,'No record with this id exists')
        return redirect('categories:show_cat')

PS. публикуйте свой код, а не его изображения.

Вернуться на верх