Django操作接口集删除(十三)

今天是删除接口集的操作,删除的话可以做成物理删除和逻辑删除。

let $tagDel = $(".btn-del");  // 1. 获取删除按钮
    $tagDel.click(function () {   // 2. 点击触发事件
        let _this = this;
        let sTagId = $(this).parents('tr').data('id');
        let sTagName = $(this).parents('tr').data('name');
        fAlert.alertConfirm({
            title: "确定删除 " + sTagName + " 接口集吗?",
            type: "error",
            confirmText: "确认删除",
            cancelText: "取消删除",
            confirmCallback: function confirmCallback() {

                $.ajax({
                    // 请求地址
                    url: "/callections/" + sTagId + "/",  // url尾部需要添加/
                    // 请求方式
                    type: "DELETE",
                    dataType: "json",
                })
                    .done(function (res) {
                        if (res.errno === "0") {
                            // 更新标签成功
                            message.showSuccess("接口集删除成功");
                            $(_this).parents('tr').remove();
                        } else {
                            swal.showInputError(res.errmsg);
                        }
                    })
                    .fail(function () {
                        message.showError('服务器超时,请重试!');
                    });
            }
        });
    });

从ajax中可以看出请求的方式是DELETE,url地址还是之前那个带id的地址。

640?wx_fmt=png
数据库

可以看到又一个is_delete字段,我们通过改变它来改变页面的展示
    def delete(self, request, tag_id):
        tag = models.Tag.objects.only('id').filter(id=tag_id).first()
        if tag:
            # 真删
            # tag.delete()
            tag.is_delete = True
            tag.save(update_fields=['is_delete'])
            return to_json_data(errmsg="标签删除成功")
        else:
            return to_json_data(errno=Code.PARAMERR, errmsg="需要删除的标签不存在")

具体它为什么会改变页面展示我们进行断点调试

640?wx_fmt=png
断点

查看is_delete是0的时候的调试内容
640?wx_fmt=png
存在

查看is_delete是1的时候的调试内容
640?wx_fmt=png
不存在

发现两者返回的东西居然是一样的。
好吧原来是代码写错了。
我们的数据库查询这一部分缺少了筛检,增加is_delete的判断就好了
640?wx_fmt=png
修改数据库查询

tags = models.Callections.objects.values('id', 'name').filter(is_delete=False).order_by('update_time')
增加了is_delete=False的判断,这下我们在调试一遍
640?wx_fmt=png
再次调试

这样就可以看到返回的内容是空了
Django给我们自动生成的Sql语句是query里面的那句
SELECT `tb_tag`.`id`, `tb_tag`.`name` FROM `tb_tag` WHERE 
`tb_tag`.`is_delete` = False ORDER BY `tb_tag`.`update_time` ASC

好了好了,这就完成了其实数据还在的逻辑删除了。

欢迎关注我的公众号:zx94_11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值