perf: 统一用户名称的label显示

pull/11138/head
fangfang.dong 2023-07-31 18:06:23 +08:00 committed by Bryan
parent f9c9c9d525
commit b93b64255b
2 changed files with 9 additions and 12 deletions

View File

@ -27,14 +27,7 @@ class RoleBindingViewSet(OrgBulkModelViewSet):
def get_queryset(self):
queryset = self._get_queryset() \
.prefetch_related('user', 'role', 'org') \
.annotate(
user_display=Concat(
F('user__name'), Value('('),
F('user__username'), Value(')')
),
role_display=F('role__name')
)
.prefetch_related('user', 'role', 'org')
return queryset
def _get_queryset(self):

View File

@ -1,6 +1,8 @@
from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from common.serializers.fields import ObjectRelatedField
from users.models import User
from orgs.serializers import CurrentOrgDefault
from ..models import RoleBinding, SystemRoleBinding, OrgRoleBinding
@ -10,16 +12,18 @@ __all__ = [
class RoleBindingSerializer(serializers.ModelSerializer):
user = ObjectRelatedField(
required=False, queryset=User.objects,
label=_('User'), attrs=('id', 'name', 'username')
)
class Meta:
model = RoleBinding
fields = [
'id', 'user', 'user_display', 'role', 'role_display',
'scope', 'org', 'org_name',
'id', 'user', 'role', 'scope', 'org', 'org_name',
]
read_only_fields = ['scope']
extra_kwargs = {
'user_display': {'label': _('User display')},
'role_display': {'label': _('Role display')},
'org_name': {'label': _("Org name")}
}