From a94d69f5eeaeccff90cc10f8daaad4ff21c27e66 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Thu, 17 Sep 2026 16:42:58 +0800 Subject: [PATCH] refactor: improve user role retrieval logic in user.py for clarity and accuracy --- apps/users/serializers/user.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index a1b665152c7..d67d6223257 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -238,9 +238,16 @@ def profile(user: User, auth: Auth): role_name = [user.role] if user_role_relation_model: user_role_relations = ( - user_role_relation_model.objects.filter(user_id=user.id).select_related("role").distinct("role_id") + user_role_relation_model.objects.filter(user_id=user.id, workspace_id="None") + .select_related("role") + .distinct("role_id") ) - role_name = [relation.role.role_name for relation in user_role_relations] + role_name = [ + role.role_name + for role in sorted( + (relation.role for relation in user_role_relations), key=lambda role: not role.internal + ) + ] return { "id": user.id,