Удаление нескольких строк в интерфейсе Django - PullRequest
0 голосов
/ 21 сентября 2011

Я собираюсь внедрить представление множественного удаления (через поля выбора) в django.

Я знаю, что в django.contrib.admin.actions есть представление, но я не могу перенести его на внешний интерфейс.

Должен ли я присвоить идентификаторы объектов в форме и POST их в моем представлении удаления, а затем использовать .delete ()?

Я раньше не программировал, а Django - это среда, которую я запускаюпрограммирование приключений.

Я искал, например (для просмотра Django + HTML), но не смог найти.

1 Ответ

0 голосов
/ 21 сентября 2011

Использование 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
...