diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py index 71cdd0bef..92da599b3 100644 --- a/backend/open_webui/models/chats.py +++ b/backend/open_webui/models/chats.py @@ -634,7 +634,7 @@ class ChatTable: ).params(title_key=f"%{search_text}%", content_key=search_text) ) - # Tag filtering + # Check if there are any tags to filter, it should have all the tags if "none" in tag_ids: query = query.filter( text( @@ -651,7 +651,13 @@ class ChatTable: and_( *[ text( - f"EXISTS (SELECT 1 FROM json_each(Chat.meta, '$.tags') AS tag WHERE tag.value = :tag_id_{tag_idx})" + f""" + EXISTS ( + SELECT 1 + FROM json_each(Chat.meta, '$.tags') AS tag + WHERE tag.value = :tag_id_{tag_idx} + ) + """ ).params(**{f"tag_id_{tag_idx}": tag_id}) for tag_idx, tag_id in enumerate(tag_ids) ] @@ -675,7 +681,7 @@ class ChatTable: ).params(title_key=f"%{search_text}%", content_key=search_text) ) - # Tag filtering + # Check if there are any tags to filter, it should have all the tags if "none" in tag_ids: query = query.filter( text( @@ -692,7 +698,13 @@ class ChatTable: and_( *[ text( - f"EXISTS (SELECT 1 FROM json_array_elements_text(Chat.meta->'tags') AS tag WHERE tag = :tag_id_{tag_idx})" + f""" + EXISTS ( + SELECT 1 + FROM json_array_elements_text(Chat.meta->'tags') AS tag + WHERE tag = :tag_id_{tag_idx} + ) + """ ).params(**{f"tag_id_{tag_idx}": tag_id}) for tag_idx, tag_id in enumerate(tag_ids) ]