Django: удаление выбранных пользователем записей из базы данных - PullRequest
0 голосов
/ 05 июля 2010

У меня есть приложение Django, которое отображает список строк в таблице для пользователя. Каждая строка отображается на запись в базе данных. Я хочу позволить пользователю выбирать строки, которые он хотел бы удалить, добавив флажок в конец каждой строки и кнопку удаления (аналогично тому, как gmail позволяет удалять несколько почтовых сообщений). Я не могу понять, как написать представление с точки зрения выяснения того, какие строки были выбраны и как сопоставить их с идентификаторами записей, которые необходимо удалить из базы данных. Был бы очень признателен за простой фрагмент кода, показывающий, как это сделать.

UPDATE: Я нашел этот фрагмент кода , который, я думаю, должен помочь

Ответы [ 2 ]

0 голосов
/ 05 июля 2010

Создайте formset и передайте can_delete = True конструктору.Затем в шаблоне

{{formset}}
0 голосов
/ 05 июля 2010

Вы можете использовать виджет CheckboxSelectMultiple для автоматической генерации соответствующего кода HTML, поэтому вам не придется делать это вручную.

Вы можете определить свою форму следующим образом:

class UsersForm(forms.Form):
    users = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=[QuerySetIterator(Users.objects.all(), "", False)], label="")

Еще одним преимуществом является то, что вы также получаете проверку бесплатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...