직원 상태 및 수퍼 유저 상태로 필터를 제공하지만 그룹은 무엇입니까?Django 관리자의 경우 그룹별로 사용자를 필터링하는 방법은 무엇입니까?
5
A
답변
5
당신은 당신이 원하는 기능을 사용자 정의 된 관리 클래스를 정의, 기본적으로 Customizing an Admin form in Django while also using autodiscover
를 참조하십시오.
그런 다음 수정 된 Admin 클래스를 등록 취소하고 등록하십시오. 버전 1.3이이 using this 할 수 있기 때문에
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
12
는 :
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
: @로 물론
list_filter = ('groups__name')
를 S. 로트 당신이 admin.py 파일에 사용자 정의 클래스를 등록해야합니다 설명
다음은 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. django 관리자의 Datetime picker
- 4. Django : 관리자의 인증 오류
- 5. django init_data에서 기본 사용자를 만드는 방법은 무엇입니까?
- 6. Django, 이름과 성으로 사용자를 인증하는 방법은 무엇입니까?
- 7. Django 관리자의 맞춤 기간별 필터링
- 8. 관리자의 Django 다중 모델 업데이트?
- 9. 쿼리 결과를 필터링하는 방법은 무엇입니까?
- 10. 값으로 사전을 필터링하는 방법은 무엇입니까?
- 11. django 사용자를 생성하고 로그인하십시오.
- 12. LDAP 사용자를 필터링하는 가장 좋은 방법
- 13. Java에서 배열을 필터링하는 방법은 무엇입니까?
- 14. NDC로 필터링하는 방법은 무엇입니까? log4net에서
- 15. MySQL에서 날짜를 필터링하는 방법은 무엇입니까?
- 16. 모델에서 데이터를 필터링하는 방법은 무엇입니까?
- 17. Django 및 GAE를 사용하여 온라인으로 사용자를 확인하는 방법은 무엇입니까?
- 18. Django ImageField core = newforms 관리자의 False
- 19. Django 관리자의 서식있는 텍스트 편집기로 이미지 업로드
- 20. Django : 관리자의 양식 텍스트 만 표시
- 21. 장고 관리자의 WMD?
- 22. SOAP로 사용자를 인증하는 방법은 무엇입니까?
- 23. C#에서 Crystal 보고서를 필터링하는 방법은 무엇입니까?
- 24. Django Forms - 사용자를 확인하는 올바른 방법?
- 25. django admin의 changelist_view에서 쿼리 세트를 필터링하는 방법?
- 26. itertools chain() 결과를 필터링하는 방법은 무엇입니까? 내보기에
- 27. Python의 목록에서 항목을 필터링하는 방법은 무엇입니까?
- 28. ProgressListener에서 비동기 요청을 필터링하는 방법은 무엇입니까?
- 29. 선택한 모든 옵션을 필터링하는 방법은 무엇입니까?
- 30. 여러 필드로 결과를 필터링하는 방법은 무엇입니까?
니스, 감사합니다. 그러나 "이름 옆에"다음에 그룹 목록이 표시됩니다. 다소 혼란 스럽습니다. "그룹 별"이라고 말하면 더 나을 것입니다. – thnee
@thnee에 동의합니다. 이것은'list_filter = ('groups',)'와 같이 달성 될 수 있습니다. – laltin