【问题标题】:Deleting multiple rows in Django frontend在 Django 前端中删除多行
【发布时间】:2011-09-21 08:12:24
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: django view delete-row


    【解决方案1】:

    使用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
    

    【讨论】:

    • 我看到有一个 can_delete 选项,它添加了“删除”布尔字段.. 会看看,谢谢!
    • @Robert:啊,你说得对……我从来没见过那个 :)
    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 2020-05-02
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多