Django UserAdmin,save#u model override函数不';t返回更新的用户组

Django UserAdmin,save#u model override函数不';t返回更新的用户组,django,django-admin,Django,Django Admin,在django admin用户窗体中保存用户后,我需要执行一些操作。具体来说,在UserAdmin的save_user方法中,我需要检查用户在创建后是否属于某个组。当我在使用“医生”组保存新用户模型后打印用户组时,该组似乎不会在save_model函数中更新。下面是澄清的示例代码: def is_doctor(self, user): z = user.groups.filter(name='Doctors').exists() if not z: z = use

在django admin用户窗体中保存用户后,我需要执行一些操作。具体来说,在UserAdmin的save_user方法中,我需要检查用户在创建后是否属于某个组。当我在使用“医生”组保存新用户模型后打印用户组时,该组似乎不会在save_model函数中更新。下面是澄清的示例代码:

def is_doctor(self, user):
    z = user.groups.filter(name='Doctors').exists()
    if not z:
        z = user.groups.filter(name='Doctor').exists()
    return z

def save_model(self, request, obj, form, change):
     super(UserAdmin, self).save_model(request, obj, form, change)

     user = User.objects.get(pk=obj.pk)

     print(f'is doctor: {User.objects.is_doctor(obj)}')
     print(f'is doctor new user: {User.objects.is_doctor(user)}')

     print('Printing groups of newly created user...')

     groups = user.groups.all()
     groups_count = groups.count()

     for group in groups:
         print(group['name'])

     print(f'This user has {groups_count} groups')
使用“医生”组保存用户后,如下图所示:

它打印以下内容:

is doctor: False
is doctor new user: False
Printing groups of newly created user...
This user has 0 groups
在创建新用户对象时,未更新添加的医生组。这是正常的还是我错过了什么