반응형

 

@ User가 속한 Group 리스트 가져오기

from django.contrib.auth import get_user_model

user = get_user_model().objects.get(username='<username>')
groups = user.groups.all()

 

cf. django.contrib.auth.models.User 를 이용해도 상관 없음

 

 

@ Group에 속한 User 리스트 가져오기

from django.contrib.auth.models import Group

group = Group.objects.get(name='<group_name>')
users = group.user_set.all()

 

 

@ User Group Check

from django.contrib.auth import get_user_model

user = get_user_model().objects.get(username='<username>')

# 유저가 특정 그룹에 속해 있는지 체크
user.groups.filter(name='<groupname>').exists()

# 유저가 그룹 리스트에 속해 있는지 체크
user.groups.filter(name__in=['<groupname1>', '<groupname2>']).exists()

# 유저 instance 없이 체크
get_user_model().objects.filter(username='<username>', groups__name='<groupname>').exists()

 

 

@ User Permission Check

# 유저가 가진 개별 permission 체크
user.user_permissions.filter(codename='<permission_code>').exists()

# 유저가 속한 그룹의 permission 체크
user.groups.filter(permission__codename='<permission_code>').exists()

 

 

@ 대소문자 구분하지 않고 찾기

get_user_model().objects.filter(username__iexact='<usernmae>').exists()

 

반응형

'프로그래밍 > Python - Django' 카테고리의 다른 글

Django URL patterns  (0) 2024.03.17
Django 프로젝트 배포하기  (0) 2024.02.29
Django - Proxy Models  (0) 2023.02.23
Django Tutorial Part 1 - HelloWorld  (0) 2022.11.01
Django - 프로젝트 시작하기  (0) 2022.10.28

+ Recent posts