Djanog: Permission: app_lablel.codename
Django: Permission: app_label.codename をアノテートする 1 2 3 from django.db.models import F, Value from django.db.models.functions import Concat from django.contrib.auth import models as auth_models 1 2 3 4 5 6 7 class PermissionDef: @classmethod def choices(cls): return auth_models.Permission.objects.annotate( code=Concat("content_type__app_label", Value("."), "codename") ).values_list("code", "name") ただし、件数が大きいので, フィールドのchoices に使うのは現実的ではない