Timothy Jaeryang Baek 1 month ago
parent
commit
8b425a6295
1 changed files with 14 additions and 7 deletions
  1. 14 7
      backend/open_webui/models/groups.py

+ 14 - 7
backend/open_webui/models/groups.py

@@ -288,13 +288,16 @@ class GroupTable:
                 if not group:
                     return None
 
-                if not group.user_ids:
-                    group.user_ids = []
+                group_user_ids = group.user_ids
+
+                if not group_user_ids or not isinstance(group_user_ids, list):
+                    group_user_ids = []
 
                 for user_id in user_ids:
-                    if user_id not in group.user_ids:
-                        group.user_ids.append(user_id)
+                    if user_id not in group_user_ids:
+                        group_user_ids.append(user_id)
 
+                group.user_ids = group_user_ids
                 group.updated_at = int(time.time())
                 db.commit()
                 db.refresh(group)
@@ -312,14 +315,18 @@ class GroupTable:
                 if not group:
                     return None
 
-                if not group.user_ids:
+                group_user_ids = group.user_ids
+
+                if not group_user_ids or not isinstance(group_user_ids, list):
                     return GroupModel.model_validate(group)
 
                 for user_id in user_ids:
-                    if user_id in group.user_ids:
-                        group.user_ids.remove(user_id)
+                    if user_id in group_user_ids:
+                        group_user_ids.remove(user_id)
 
+                group.user_ids = group_user_ids
                 group.updated_at = int(time.time())
+
                 db.commit()
                 db.refresh(group)
                 return GroupModel.model_validate(group)