Django 在第二次登录后自动从组中删除用户

Django 在第二次登录后自动从组中删除用户,django,login,Django,Login,在我的登录用户视图中,我使用ldap服务器进行身份验证。它很好用。在第一次尝试登录时,我创建了Uzytkownik类的对象,它也可以工作(仅在第一次登录时,而不是每次1)。现在,当我添加一些代码以将用户添加到指定的组时,它只在第一次登录后才起作用。它的行为类似于django在第二次尝试登录后将用户从该组中删除 登录用户视图中的一些代码: user = authenticate(username=username, password=password) if user is not Non

在我的登录用户视图中,我使用ldap服务器进行身份验证。它很好用。在第一次尝试登录时,我创建了Uzytkownik类的对象,它也可以工作(仅在第一次登录时,而不是每次1)。现在,当我添加一些代码以将用户添加到指定的组时,它只在第一次登录后才起作用。它的行为类似于django在第二次尝试登录后将用户从该组中删除

登录用户视图中的一些代码:

user = authenticate(username=username, password=password)
    if user is not None:
        if user.is_active:
            prof=user.get_profile()
            prof.stanowisko=user.stanowisko
            prof.tytul_Naukowy=user.tytul
            prof.save()
            try:
                uzytkownik=Uzytkownik.objects.get(username=user)
            except Exception as e:
                g = Group.objects.get(name= settings.DEFAULT_GROUP_NAME) #this 3 lines don't work as I expect
                g.user_set.add(user)   
                g.save()                    
                uzytkownik=Uzytkownik(username=user, tytul_Naukowy=user.tytul, stanowisko=user.stanowisko, imie=user.first_name, nazwisko=user.last_name)
                uzytkownik.save()

            login(request, user)
            return HttpResponseRedirect("/")
Settings.py:

DEFAULT_GROUP_NAME = 'common'
AUTH_PROFILE_MODULE = 'user.UserProfile'
我尝试了第二种方法向用户添加组,但没有效果(仅在第一次登录后有效):

当我登录后,现在将登录用户添加到此组并刷新页面时,我看到我在该组中,但在注销和登录后,我不在任何组中。我在用户配置文件中做了一些更改,这可能是一个原因吗

Settings.py:

DEFAULT_GROUP_NAME = 'common'
AUTH_PROFILE_MODULE = 'user.UserProfile'
和我的模块:

class UserProfile(models.Model):

class Meta:
    verbose_name_plural = 'Profile'

user = models.OneToOneField(User, unique=True)
stanowisko=models.CharField(max_length=50)
tytul_Naukowy=models.CharField(max_length=30)

def __unicode__(self):
    return self.user.username


def create_profile(sender, instance, created, **kwargs):
if created:
    profile, created = UserProfile.\
             objects.get_or_create(user=instance)

post_save.connect(create_profile, sender=User)

我认为问题在于:
uzytkownik=uzytkownik.objects.get(username=user)
我如何定义模型
uzytkownik
?uzytkownik只在我的应用程序中保存我需要的人的信息
uzytkownik=uzytkownik.objects.get(username=user)
有效吗?我的猜测是,
username=user.username
,我可能错了,虽然问题不是我添加了这个,问题是当第二次登录时,组被删除了。添加新的Uzytkownik是有效的,并且它是有效的。组在第一次登录时正在进行。我不知道为什么,但在user=authenticate(用户名、密码)之后,用户正在从组中删除。我在它之前做了一些布尔运算,检查用户是否在一个组中,并在loggin之后设置组。