田中さん まず、管理者の所属グループで、ユーザ一覧を絞り込む方法。
http://stackoverflow.com/questions/12354099/override-default-queryset-in-django-admin のアンサーのように、 get_queryset をオーバライドして、管理画面にログインしているユーザ(管理者)を reqeust.user から特定して、そのユーザーがどのグループに属しているかを調べ、同じグループのユーザーをフィルタして返してください。 次に、AdminSite からデフォルトのユーザのAdminを Unregisterして、上で作ったAdminと差し替えます。 Adminの枠組みに従っている場合、オブジェクトは全て get_queryset() の返すクエリセットを使って取り出されるため、少なくとも Admin 上ではグループ外のユーザへのアクセスは防げます。 ただし、アクセスを制限しているのはAdminの機能であって、ユーザモデル自体のアクセス制御はかかっていないことを忘れないで下さい。 管理画面以外でも、何らかの形で(例えば、「ドキュメントの最終編集ユーザ」のように、別のモデルインスタンスのリレーションからユーザを辿れる場合)他のユーザの情報を見たり編集したりする画面を用意するつもりなら、そこでもグループ外のユーザにアクセスできないよう、制約を設けてやらねばなりません。 いかがでしょう? 2016年4月20日 11:06 Jun Tanaka <tna...@gmail.com>: > 田中と申します。 > > djangoの管理画面から、グループの管理者みたいなものを作りたいのですが出来そうでできないので質問させていただきます。 > > グループA グループBがありそれぞれのグループには複数のユーザーがいます。 > データはユーザーごとに仕切られていて他の人は見れません。 > > その様な状況でグループAの管理者はグループAのみのユーザーのデータを見れかつ編集できるようにしたい。 > (グループBも同様に、) > こんな方法ってありませんか? > > 何かモデル用のモジュールを入れたら出来るのではないかとも考えています。 > > ご存知の方がいましたらご教授願えれば幸いです。 > 宜しくお願い致します。 > > -- > -- > ----------------- http://djangoproject.jp/ ----------------- > You received this message because you are subscribed to the Google Groups > "django-ja" group. > To post to this group, send email to django-ja@googlegroups.com > To unsubscribe from this group, send email to > django-ja-unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/django-ja > --- > このメールは Google グループのグループ「django-ja」に登録しているユーザーに送られています。 > このグループから退会し、グループからのメールの配信を停止するには django-ja+unsubscr...@googlegroups.com > にメールを送信してください。 > その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。 -- Yasushi Masuda PhD http://whosaysni.jp/ whosaysni at twitter/gmail -- -- ----------------- http://djangoproject.jp/ ----------------- You received this message because you are subscribed to the Google Groups "django-ja" group. To post to this group, send email to django-ja@googlegroups.com To unsubscribe from this group, send email to django-ja-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-ja --- このメールは Google グループのグループ「django-ja」の登録者に送られています。 このグループから退会し、グループからのメールの配信を停止するには django-ja+unsubscr...@googlegroups.com にメールを送信してください。 その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。