删除Django前端中的多行

时间:2011-09-21 08:12:24

标签: django view delete-row

我将在django中实现多删除(通过选择框)视图。

我知道django.contrib.admin.actions中有一个视图,但我无法将其移植到前端。

我应该在表单中分配对象ID并将它们POST到我的删除视图然后使用.delete()吗?

我之前没有编程,Django是我开始编程冒险的框架。

我正在寻找示例(对于Django view + html)但找不到任何。

1 个答案:

答案 0 :(得分:0)

使用modelformset并仅使用delete选项手动呈现表单:https://docs.djangoproject.com/en/dev/topics/forms/formsets/#manually-rendered-can-delete-and-can-order

替代解决方案:

使用modelformset创建一堆带有删除复选框的表单,如下所示:

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