Django管理者サイトの「追加」機能を削除する方法はありますか?特定のエンティティについては、私はDjango管理者がそれらを表示したり、既存のものを変更したり、新しいものを追加することはできないようにしたいだけです。Django管理者の「追加」機能を削除する
答えて
確かに、あなたは、命令にhereを、以下のことにより、非常にきめ細かい管理をカスタマイズすることができます - 私は何をしたいことは、あなた自身のModelAdmin
サブクラスにModelAdmin.save_model(self, request, obj, form, change)
をオーバーライドすることによって部分的に得られることを信じて、何を保証しないためにchange
がfalseの場合、店舗で発生(つまり、変更するのではなく、追加しようとする)、そして部分的にはModelAdmin.add_view(self, request, form_url='', extra_context=None)
を上書きして、「追加ビュー」を表示すると、管理者はこのルートを通じてオブジェクトを追加することを許可されません。私は実際にあなたが必要とする特定の管理者のカスタマイズはしていませんが、私は他の人たちとやりとりしました。彼らはかなりスムーズに動作するようです!
adminインターフェイス内から各ユーザグループのアクセス許可をカスタマイズすることができます。/admin/auth/group
に行ってみると、そこから簡単にアクセスできます。
これは、以前の回答の解決策ほど細かくはありませんが、管理者をカスタマイズしなくてもほとんどのニーズに対応できます。
しかし、OPは具体的には*管理者が特定のことをするのをブロックしたいので、質問はそのように明確に述べていますが、管理者が許可の変更を元に戻すことを阻止する方法は何でしょうか(特に管理者いくつかの管理を行う;-)? –
@Alex:これは本当です - 私は私の応答をあなたの応答のより単純な代替手段として意味しましたが、単純さにはもちろん限界があります。 – anschauung
アクセス権を変更してアクセスを制限すると、FK/MtMフィールドでプラス記号が表示されます。これをクリックすると、「Permission Denied」と表示されたポップアップウィンドウが開きます。
実際には、管理者にモデルを登録していないだけでなく、プラス記号を完全に削除することもできます。
私は、ユーザーが複数のカテゴリを選択できるようにするためのカテゴリを事前に定義している状況があります。これを行う最善の方法は、models.ManyToManyフィールドです。モデルを管理者に登録し、必要に応じてデータを入力して登録を削除することができます。
簡単に効果的な方法は、特定のインラインでmax_num=0
を設定することです。
Satyaの提案では、max_num = 0に設定すると完全に機能します。
のModelFormクラスのDjangoのドキュメント毎:JavaScript対応のブラウザでユーザーのために
、「追加別」のリンクが提供されたものに加えて追加される追加のインラインの任意の数を可能にするために提供されます余分な議論の結果として。
現在表示されているフォームの数がmax_numを超えた場合、またはJavaScriptが有効になっていない場合は、ダイナミックリンクは表示されません。通常のフォームセットと同様に
と
、あなたが表示され、余分なフォームの数を制限するmodelformset_factoryするMAX_NUMと追加のパラメータを使用することができます。
MAX_NUMは
- 1. django管理者の編集と削除ボタンの追加方法
- 2. Django管理者とモデルの削除
- 3. WordPressプラグインの機能を管理者側から削除する
- 4. Django管理者のデフォルトの削除アクションを削除します
- 5. すべてのDjango管理者モデルの削除権限を削除します。
- 6. Django管理者のカスタム機能をトリガーする
- 7. django:管理者へのホームリンクを追加するには
- 8. ボタンを追加するDjango管理者ページのカスタマイズ
- 9. Djangoのインライン管理者にサブセクションを追加する方法は?
- 10. howto django管理者ページのインラインにカスタムフォームを追加する
- 11. Django管理者にモデル以外のフォームを追加する
- 12. django、管理者の追加/変更フォームを拡張する
- 13. 定期的な追加機能/削除機能の変更を有効にするウェブサイトのバージョン管理方法
- 14. buddypressグループ管理者に管理者を追加させる
- 15. jQueryファイルをDjango管理者に追加する
- 16. Djangoの管理者から履歴ボタンを削除
- 17. Woocommerceジョブリストのステップから管理者を除外する機能
- 18. Django管理者:データベース管理
- 19. Djangoの管理者用ホームページにカスタムアクションを追加しますか?
- 20. Devise管理者ロールを追加する
- 21. 管理者のフォームフィールドとdjangoのモデルフィールドを追加したい
- 22. Django - Django管理者のページコンテンツを管理する
- 23. カスタムDjango管理アクションを追加する
- 24. グループポリシーによる管理者の追加
- 25. Djangoの管理者はどのように新しい行機能を追加できますか?
- 26. Django管理者 - カスタムインラインフォーム
- 27. Djangoの管理、エラーの削除ユーザー
- 28. 機能をDjango管理者のフィールドのようにするには?
- 29. アクティブな管理者にページを追加
- 30. すべての管理者モデルにカスタムjsを追加する方法は? django
を表示してから、既存のオブジェクトを妨げるものではない答えをいただき、ありがとうございます。私はこれを達成する設定、save_as ModelAdminプロパティの働きを期待していました。 –
私はこのようなDjango 1.0の設定は認識していませんが、おそらく1.0以上のものや、それを供給するためのハックがあります。在庫1.0.somethingはこれまでのところ固執しています。アプリのエンジン、私は;-)告白する。 –
この回答は物事を複雑にします。ユーザーの削除権限の追加は、あなたが記述した状況に対して完璧にトリックを行います。 (これは、モデルごとではなくインスタンスごとに制御する必要があることを前提としています)。 –