繁体   English   中英

数据不会从 CRUD 页面中删除,也不会在数据库中删除

[英]The Data doesn't get deleted from CRUD page and also doesn't get deleted in Database

嗨,我是 Django 的新手,我正在做 CRUD 操作,我已经成功完成了 CRU,只有删除仍然存在,我正在尝试软删除数据。 下面是我的 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')
    

以下是网址路径

在此处输入图像描述

下面是删除按钮的href路径在此处输入图像描述

但是数据没有被删除,它也保留在数据库中,代码中的问题可能是什么?

我不知道你为什么在这里使用表格。 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。 发布您的代码而不是它的图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM