Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django用户管理自定义_Django_Model_Admin - Fatal编程技术网

Django用户管理自定义

Django用户管理自定义,django,model,admin,Django,Model,Admin,在我的用户页面中,我想为每个用户添加更多要显示的列字段 默认情况下,用户页面显示用户名、名字、姓氏、电子邮件和员工状态,但我也希望添加“所选组”列以显示 每个用户可以是零个或多个组的一部分,因此我想显示每个用户所属的所有组(或无组)的列表 我把一些东西放在一起,但我不确定如何实际获取组数据并将其放入“所选组”列的“字符串”形式中 这是我失败的尝试 class UserAdmin(admin.ModelAdmin): list_display = ('username', 'email',

在我的用户页面中,我想为每个用户添加更多要显示的列字段

默认情况下,用户页面显示用户名、名字、姓氏、电子邮件和员工状态,但我也希望添加“所选组”列以显示

每个用户可以是零个或多个组的一部分,因此我想显示每个用户所属的所有组(或无组)的列表

我把一些东西放在一起,但我不确定如何实际获取组数据并将其放入“所选组”列的“字符串”形式中

这是我失败的尝试

class UserAdmin(admin.ModelAdmin):
    list_display = ('username', 'email', 'first_name', 'last_name', 'date_joined', 'get_groups')

    def get_groups(self, object):
        #code...

#User is registered by default, need to unregister than register to apply custom updates to UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)    
这是:

def get_groups(self, object):
    return u', '.join(g.name for g in object.groups.all()) or 'None'
get_groups.short_description = 'Chosen Groups'
要减少sql查询的数量,还可以覆盖该方法:

def get_queryset(self, request):
    qs = super(UserAdmin, self).get_queryset(request)
    return qs.prefetch_related('groups')