web-dev-qa-db-ja.com

djangoの複数のオブジェクトを削除

Djangoウェブページを使用して、データベースから削除するオブジェクトをいくつか選択する必要があります。選択するカテゴリがないため、そのようなすべてのオブジェクトから削除することはできません。独自の削除フォームを実装してDjangoで処理するか、またはDjangoにこれを行う方法がありますか?.

83
Dean

任意のQuerySetを削除できます。たとえば、いくつかの投稿モデルを持つすべてのブログ投稿を削除するには

Post.objects.all().delete()

将来の公開日がある投稿を削除する

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

ただし、QuerySetを絞り込む方法を考え出す必要があります。ビューで特定のオブジェクトを削除するだけの場合は、 汎用ビューの削除 を調べます。

編集:

誤解して申し訳ありません。答えはどこかにあると思います。独自に実装するには、ModelFormsと 汎用ビュー を組み合わせます。それ以外の場合は、同様の機能を提供するサードパーティのアプリを検討してください。 関連する質問 では、推奨事項は Django-filter でした。

159
Matt Luongo