Вы можете удалить любой QuerySet, который хотите. Например, чтобы удалить все сообщения в блоге с некоторой моделью сообщения
Post.objects.all().delete()
и удалить любое сообщение с будущей датой публикации
Post.objects.filter(pub_date__gt=datetime.now()).delete()
Однако вам нужно найти способ сузить свой QuerySet. Если вы просто хотите, чтобы представление удаляло определенный объект, просмотрите универсальное представление удаления .
РЕДАКТИРОВАТЬ:
Извините за недопонимание. Думаю, ответ где-то посередине. Чтобы реализовать свои собственные, объедините ModelForm
s и общие представления . В противном случае поищите сторонние приложения, которые предоставляют аналогичные функции. В связанном вопросе рекомендация была django-filter .
ModelForm
s.MyModel.objects.filter(id__in=request.POST.getlist('delete_list')).delete()
и я уверен, что вы хотите что-то, чтобы убедиться, что случайный человек не может удалить все объекты в вашей БД, угадывая PK.filter(foo).delete()
метод.