Delete multiple objects in django Ask Question

Delete multiple objects in django Ask Question

I need to select several objects to be deleted from my database in django using a webpage. There is no category to select from so I can't delete from all of them like that. Do I have to implement my own delete form and process it in django or does django have a way to already do this? As it's implemented in the admin interface.

Specifically, I need to select the objects to delete with a form on a webpage. And then process the data returned from the form in my views.py. Then loop through what's returned in the form deleting as it's looping through the data. But I wanted to know what is best practice for implementing this in django.

ベストアンサー1

You can delete any QuerySet you'd like. For example, to delete all blog posts with some Post model

Post.objects.all().delete()

and to delete any Post with a future publication date

Post.objects.filter(pub_date__gt=datetime.now()).delete()

You do, however, need to come up with a way to narrow down your QuerySet. If you just want a view to delete a particular object, look into the delete generic view.

EDIT:

Sorry for the misunderstanding. I think the answer is somewhere between. To implement your own, combine ModelForms and generic views. Otherwise, look into 3rd party apps that provide similar functionality. In a related question, the recommendation was django-filter.

おすすめ記事