我正在使用CRUD,列表的一个功能是批量删除。用户选择(复选框)他想要删除的行,然后按“删除所选”按钮。
我在CRUD中使用通用视图。我的单删除,例如:
class ContentDeleteView(NextRedirectMixin, DeleteView):
model = Content
template_name = 'content_delete.html'
def get_success_url(self):
messages.add_message(self.request, messages.SUCCESS, "Content deleted successfully.")
return reverse('content:content-detail')
我的问题是创建批量删除视图。我可以使用Django核心功能进行批量删除吗?我想避免为此安装应用程序。
感谢您的帮助
答案 0 :(得分:1)
你应该推出自己的删除视图,这是一个基本的例子:
class BulkDeleteView(View):
model = None
def post(self, request, *args, **kwargs):
delete_ids = request.POST['delete_ids'].split(',') # should validate
self.model.objects.filter(pk__in=delete_ids).delete()
return render / redirect
所以基本的想法是继承View
并推出你自己的基础BulkDeleteView
的实现