반응형
@ 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 |