From 0ca725be779b3b7a83cf0dd15edadb4413f08d0f Mon Sep 17 00:00:00 2001 From: ulleo Date: Wed, 3 Sep 2025 14:53:44 +0800 Subject: [PATCH] fix: wrong total count in terminology management page --- backend/apps/terminology/curd/terminology.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/apps/terminology/curd/terminology.py b/backend/apps/terminology/curd/terminology.py index be6f69be..309a2c82 100644 --- a/backend/apps/terminology/curd/terminology.py +++ b/backend/apps/terminology/curd/terminology.py @@ -37,7 +37,7 @@ def page_terminology(session: SessionDep, current_page: int = 1, page_size: int # 步骤1:先找到所有匹配的节点ID(无论是父节点还是子节点) matched_ids_subquery = ( select(Terminology.id) - .where(Terminology.word.ilike(keyword_pattern)) # LIKE查询条件 + .where(and_(Terminology.word.ilike(keyword_pattern), Terminology.oid == oid)) # LIKE查询条件 .subquery() ) @@ -101,7 +101,7 @@ def page_terminology(session: SessionDep, current_page: int = 1, page_size: int else: parent_ids_subquery = ( select(Terminology.id) - .where(Terminology.pid.is_(None)) # 只取父节点 + .where(and_(Terminology.pid.is_(None), Terminology.oid == oid)) # 只取父节点 ) count_stmt = select(func.count()).select_from(parent_ids_subquery.subquery()) total_count = session.execute(count_stmt).scalar()