diff --git a/src/tagstudio/core/library/alchemy/library.py b/src/tagstudio/core/library/alchemy/library.py index 1ce4fc85f..8574c48f0 100644 --- a/src/tagstudio/core/library/alchemy/library.py +++ b/src/tagstudio/core/library/alchemy/library.py @@ -1041,7 +1041,11 @@ def search_library( ast = search.ast if not search.show_hidden_entries: - statement = statement.where(~Entry.tags.any(Tag.is_hidden)) + hidden_tag_ids = select(Tag.id).where(Tag.is_hidden) + hidden_entry_ids = select(TagEntry.entry_id).where( + TagEntry.tag_id.in_(hidden_tag_ids) + ) + statement = statement.where(Entry.id.not_in(hidden_entry_ids)) if ast: start_time = time.time()