代码之家  ›  专栏  ›  技术社区  ›  gruszczy

Django:在管理中显示组用户计数

  •  5
  • gruszczy  · 技术社区  · 14 年前

    我想更改一个组的管理员,这样它将显示某个组中有多少用户。我想在显示所有组的视图中显示这个,在您为某个组输入admin之前。有可能吗?我正在讨论如何更改组的管理员以及如何将函数添加到 list_display .

    1 回复  |  直到 14 年前
        1
  •  9
  •   gruszczy    14 年前

    首先,您需要导入和子类 GroupAdmin django.contrib.auth.admin . 在子类中,定义 user_count 方法。然后,从管理中注销现有的组模型,并重新注册新的组模型。

    from django.contrib.auth.admin import GroupAdmin
    from django.contrib.auth.models import Group
    
    class GroupAdminWithCount(GroupAdmin):
        def user_count(self, obj):
            return obj.user_set.count()
    
        list_display = GroupAdmin.list_display + ('user_count',)
    
    admin.site.unregister(Group)
    admin.site.register(Group, GroupAdminWithCount)