单击数据表的删除按钮时从数据库中删除数据

Posted

技术标签:

【中文标题】单击数据表的删除按钮时从数据库中删除数据【英文标题】:Remove data from the database when the remove button of a datatable is clicked 【发布时间】:2018-06-08 11:13:21 【问题描述】:

我正在使用数据表为用户显示信息,并且每行生成一个删除按钮。

我想在用户点击时从数据库中删除行数据。

我该怎么做?

HTML

...
$('#id_data').DataTable(
    destroy: true,
    data:data_array_data,
    "bLengthChange": false,
     //"bAutoWidth": false,
    "scrollX": true,
    "order": [[ 22, "desc" ]],
    "aoColumns" : [
                    title:'User', sWidth: '10px', className:'dt-center' ,
                    title:'Business', sWidth: '10px', className:'dt-center' ,
                    ...
                    title:'Revenue', sWidth: '10px', className:'dt-center' ,
                    title: "",sWidth:'5px',className:'dt-center',
                            "bSortable": false,                          
                            "mRender": function() 
                                return'<button class="btn btn-danger" id="btn_item_' + itemIndex++ + '"' + ' name="mybtndelete"">Delete</button>';                                                    
                            ,                                               
                    ,

                 ]                       
);

查看

@login_required
def remove_register(request):
    instance = MyModel.objects.get(id=pk) "How can I obtain the pk from the datatable?"
    instance.delete()

【问题讨论】:

【参考方案1】:

您需要将数据表连接到视图。 看这个例子: https://editor.datatables.net/examples/advanced/REST.html

你的datatable的每一个action都映射到一个对应的rest接口,你只需要调用正确的url即可。

【讨论】:

我发布的链接向您展示了如何使用数据表按钮并将其映射到不同的端点。这里的端点是您的视图,因此您需要在数据表中声明的 url 必须映射到您在 urls.py 中的视图。如果您想使用您自己的按钮,例如您发布的代码,那么您需要将您自己的事件和 Ajax 调用添加到您的视图端点。这是使用自定义按钮的实现: github.com/twtrubiks/DRF-dataTable-Example-server-side/blob/… 非常感谢您的帮助

以上是关于单击数据表的删除按钮时从数据库中删除数据的主要内容,如果未能解决你的问题,请参考以下文章

React Hook 在单击 2 个不同的按钮时从 APi 获取数据

如何在关闭浏览器时从数据库中删除数据

单击按钮时从同一组件中清除数据

当用户单击按钮时从数组中删除对象

我将如何在按钮单击时从 uiview 中删除 UIBezierPath。?

使用 jQuery 从数据库中删除