web-dev-qa-db-fra.com

Supprimer plusieurs objets dans django

Je dois sélectionner plusieurs objets à supprimer de ma base de données dans Django à l'aide d'une page Web. Il n'y a pas de catégorie à sélectionner, je ne peux donc pas les supprimer tous de cette façon. Dois-je pour implémenter mon propre formulaire de suppression et le traiter dans Django ou Django a-t-il déjà un moyen de le faire? Comme il est implémenté dans l'interface d'administration.

83
Dean

Vous pouvez supprimer n'importe quel QuerySet que vous souhaitez. Par exemple, pour supprimer tous les articles de blog avec un modèle Post

Post.objects.all().delete()

et supprimer toute publication avec une date de publication future

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

Cependant, vous devez trouver un moyen de réduire votre ensemble de requêtes. Si vous souhaitez simplement qu'une vue supprime un objet particulier, examinez la supprimer la vue générique .

MODIFIER:

Désolé pour le malentendu. Je pense que la réponse est quelque part entre. Pour mettre en œuvre la vôtre, combinez ModelForms et vues génériques . Sinon, recherchez des applications tierces offrant des fonctionnalités similaires. Dans une question connexe , la recommandation était Django-filter .

159
Matt Luongo