From aa95818414322704b08f771c3976bb848f1ef454 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 3 Feb 2026 09:19:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81filter=5For?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/resm/tasks.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/resm/tasks.py b/apps/resm/tasks.py index 8b7dcfd..a41b2c0 100644 --- a/apps/resm/tasks.py +++ b/apps/resm/tasks.py @@ -42,13 +42,16 @@ def get_paper_meta_from_openalex(publication_year:int, keywords:str="", search:s type="article" ) if keywords: + # 支持 '|' 表示 OR,',' 表示 AND。去除空白项。 if "|" in keywords: - keywords_list = keywords.split("|") + keywords_list = [k.strip() for k in keywords.split("|") if k.strip()] + pager = pager.filter_or(keywords={"id": keywords_list}) + elif "," in keywords: + keywords_list = [k.strip() for k in keywords.split(",") if k.strip()] + pager = pager.filter(keywords={"id": keywords_list}) else: - keywords_list = [keywords] - pager = pager.filter( - keywords={"id": keywords_list} - ) + keywords_list = [keywords.strip()] + pager = pager.filter(keywords={"id": keywords_list}) if search: pager = pager.filter( search=search