スタッフステータスとスーパーユーザステータスでフィルタリングできますが、グループはどうですか?Djangoの管理者で、グループ別にユーザーをフィルタリングする方法は?
5
A
答えて
5
は基本的にCustomizing an Admin form in Django while also using autodiscover
を参照してください、あなたが望む機能をカスタマイズした管理クラスを定義します。
次に、改訂されたAdminクラスの登録を解除して登録します。
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
12
それはusing thisを行うことができますバージョン1.3以来:
もちろんlist_filter = ('groups__name')
S.Lottあなたはadmin.pyファイルでカスタマイズしたクラスを登録する必要がありますについて説明し@として:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class MyUserAdmin(UserAdmin):
list_filter = UserAdmin.list_filter + ('groups__name',)
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
4
ここでは、Django 1.4以降で使用可能なSimpleListFilterを継承した完全な例を示します。
https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter
それは完全にカスタムフィルタを作成するために使用可能なすべてのラベルとパラメータの設定をサポート。
フィルタパネルに「グループ別」と表示され、使用可能なすべてのグループのリストが表示されます。
from django.contrib.admin import SimpleListFilter
from django.contrib.auth.models import Group
from django.utils.translation import ugettext as _
class GroupListFilter(SimpleListFilter):
title = _('group')
parameter_name = 'group'
def lookups(self, request, model_admin):
items =()
for group in Group.objects.all():
items += ((str(group.id), str(group.name),),)
return items
def queryset(self, request, queryset):
group_id = request.GET.get(self.parameter_name, None)
if group_id:
return queryset.filter(groups=group_id)
return queryset
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class MyUserAdmin(UserAdmin):
list_filter = UserAdmin.list_filter + (GroupListFilter,)
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
関連する問題
- 1. django管理者のクエリーセットをフィルタリングする方法はありますか?
- 2. 別のドロップダウンリストで選択が行われたときにDjangoの管理者のドロップダウンリストをフィルタリングする方法
- 3. Rubyの管理者によるユーザーの管理方法
- 4. Django管理者:データベース管理
- 5. 管理者のフィルタリング検索を実装する方法
- 6. Django管理者のFKでの動的フィルタリング
- 7. Djangoの管理者フィルタは、日付のためのDjangoの管理者に
- 8. Django管理者のステータスでオブジェクトをlist_displayする方法
- 9. django管理者にメソッドを入れる方法は?
- 10. Django - Django管理者のページコンテンツを管理する
- 11. Djangoの管理チェンジ・フィルタリング/リンク
- 12. django管理者をカスタマイズする方法は?
- 13. djangoで管理者以外のページにtinymceを使う方法
- 14. アドレスバーを使用したdjango管理者のフィルタリング
- 15. Django-Filer:管理者の外にアップロードウィジェットを呼び出す方法
- 16. SQLサーバー管理者グループ
- 17. Django管理者のデータベースエラーを表示する方法
- 18. django管理者のOneToOneFieldオプションフォームを模倣する方法
- 19. Django - デートサイトのユーザーモデル - 管理者 - スタッフ/代理店+他のユーザー
- 20. Django管理者StackedInlineのカスタマイズ
- 21. Django管理者の色
- 22. カスタムビューDjangoの管理者
- 23. Django管理者のフィールドセット
- 24. UnicodeとDjangoの管理者
- 25. AuthLogic管理者ユーザー以外の管理者のリンクを非表示にする
- 26. アクティブな管理者ユーザー管理リスト
- 27. Djangoの管理者でないハッシュカスタム・ユーザー・パスワードが
- 28. 管理者とユーザーのテーブル
- 29. Djangoの管理、Djangoの管理者、スーパーユーザーの欄には、ユーザのステータス記号
- 30. Drupalのグループとグループの管理者を実装する
ニース、ありがとう!しかし、それは "名前で"続いてグループのリストが続き、ちょっと混乱しています。 "グループ別に"と言った方が良いでしょう。 – thnee
私は@thneeに同意します。これは 'list_filter =( 'groups'、)'のように実現できます。 – laltin