在Django前端删除多行 [英] Deleting multiple rows in Django frontend
问题描述
我将在django中添加多个删除(通过选择框)视图。
I am going to implment a multi delete (via select boxes) view in django.
我知道django.contrib.admin.actions中有一个视图,但是我不能将其移植到前端。
I know there's a view in django.contrib.admin.actions but I can't port this to frontend.
我应该将表单中的对象ID分配给我的删除视图,然后使用.delete()?
Should I assign object id's in the form and POST these to my delete view and then use .delete() ?
我以前没有编程,Django是我开始编程冒险的框架。
I haven't been programming before, and Django is the framework I start my programming adventure.
我在寻找例子(对于Django视图+ html),但找不到任何。
I was looking for example (for Django view + html) but couldn't find any.
推荐答案
使用 modelformset
并手动呈现表单只需删除
选项: https://docs.djangoproject.com/en/dev/topics/forms/formsets/#manually-rendered-can-dele te-and-can-order
替代解决方案:
使用 modelformset
创建一堆带有删除复选框,如下所示:
Using a modelformset
to create a bunch of forms with a delete checkbox like this:
class YourModelForm(forms.ModelForm):
id = fields.IntegerField(widget=widgets.HiddenInputField)
delete = fields.BooleanField(required=False)
def save(self, commit=False):
if self.is_valid() and self.cleaned_data['delete']:
self.instance.delete()
class Meta:
model = YourModel
这篇关于在Django前端删除多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!