2011-01-11 57 views
0

我有这个用户等级:的Django无法将用户添加到

class Parent(User): 
    contact_means = models.IntegerField() 
    is_active = False 
    is_staff = False 
    is_superuser = False 
    #parent_id = models.AutoField() 
    class Meta: 
     db_table = 'parent' 

在我的管理页面增加家长的,我想自动添加该父到一个用户组:

class ParentAdmin(admin.ModelAdmin): 
    def save_model(self,request,modelObj,modelFormIns, change): 
     if not change: #new entry 
      #save regular parent and user 
      parentGroup = Group.objects.get(pk=1) 

      modelObj.save() 
      modelObj.groups.add(parentGroup) 
      #parentGroup.save() 
      #save a record under django-registration 
      profile_callback = None 
      RegistrationProfile.objects.create_inactive_user_from_fk(user = modelObj,send_email = True) 

     else: 
      modelObj.save() 

这不行!没有用户被添加到组中。为什么?

+1

与False比较时不要使用'is`。 `is`用于比较身份,而不是价值。只要“如果不改变” - 或者,如果你必须的话,“如果改变== False”。 – 2011-01-11 16:32:37

回答

0

我想它可能会导致问题的组字段。在我的modeladmin中添加exclude = ['groups'],我没有任何问题。可能这可能是因为在我的代码中以编程方式添加组之后,用户组在之后被刷新,因为在表单本身没有选择组。