programing

django에서 그룹에 사용자 추가

javamemo 2023. 7. 9. 09:30
반응형

django에서 그룹에 사용자 추가

django에서 그룹 이름으로 사용자를 그룹에 추가하려면 어떻게 해야 합니까?

할 수 있습니다.

user.groups.add(1) # add by id

제가 어떻게 이런 일을 할 수 있을까요?

user.groups.add(name='groupname') # add by name

그룹 이름과 함께 그룹 모델을 사용하여 그룹을 찾은 다음 user_set에 사용자를 추가합니다.

from django.contrib.auth.models import Group
my_group = Group.objects.get(name='my_group_name') 
my_group.user_set.add(your_user)

현대 버전의 장고에서 이를 수행하는 방법은 다음과 같습니다(장고 1.7에서 테스트됨).

from django.contrib.auth.models import Group
group = Group.objects.get(name='groupname')
user.groups.add(group)

코어 덤프 오류는 맞지만 공유해야 할 한 가지를 찾았습니다.

from django.contrib.auth.models import Group

# get_or_create return error due to 
new_group = Group.objects.get_or_create(name = 'groupName')
print(type(new_group))       # return tuple

new_group = Group.objects.get_or_create(name = 'groupName')
user.groups.add(new_group)   # new_group as tuple and it return error

# get() didn't return error due to 
new_group = Group.objects.get(name = 'groupName')
print(type(new_group))       # return <class 'django.contrib.auth.models.Group'>

user = User.objects.get(username = 'username')
user.groups.add(new_group)   # new_group as object and user is added

다음을 사용하여 사용자에게 여러 그룹을 할당할 수 있습니다.set방법:

from django.contrib.auth.models import Group

users = Group.objects.get(name="user")
managers = Group.objects.get(name="manager")
user.groups.set([users, managers])

언급URL : https://stackoverflow.com/questions/6288661/adding-a-user-to-a-group-in-django

반응형