Django - How to delete a object directly from a button in a table

后端 未结 2 1374
迷失自我
迷失自我 2021-02-09 21:11

(sorry for my bad english)

I need to delete an object, but directly from a list of the objects that y have in my template.

I have a work orders, that have spare

2条回答
  •  遇见更好的自我
    2021-02-09 21:48

    In your html template inside for loop use the form tag inside to create delete button as below (css class will work if you are using bootstrap3):

    {% csrf_token %}

    add urlpattern in urls.py

    url(r'^delete-entry/(?P\d+)/$', views.DeleteView.as_view(), name='delete_view'),
    

    delete view will be like below in views.py

    class DeleteView(SuccessMessageMixin, DeleteView):
    model = OrderSparePart
    success_url = '/'
    success_message = "deleted..."
    
    def delete(self, request, *args, **kwargs):
        self.object = self.get_object()
        name = self.object.name
        request.session['name'] = name  # name will be change according to your need
        message = request.session['name'] + ' deleted successfully'
        messages.success(self.request, message)
        return super(DeleteView, self).delete(request, *args, **kwargs)
    

    Note: import necessary imports shown in links or you need not to worry if you are using IDE such as pyCharm it will prompt you which import to make.

提交回复
热议问题