From b0936c086ac5bb23d88ab12149d667fb0aa3aa9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E8=8E=B9?= <1765557195@qq.com> Date: Mon, 13 Oct 2025 01:00:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servermanager/api/blogapi.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/servermanager/api/blogapi.py b/servermanager/api/blogapi.py index 8a4d6ac..fcf72eb 100644 --- a/servermanager/api/blogapi.py +++ b/servermanager/api/blogapi.py @@ -5,23 +5,24 @@ from blog.models import Article, Category class BlogApi: def __init__(self): - self.searchqueryset = SearchQuerySet() - self.searchqueryset.auto_query('') - self.__max_takecount__ = 8 + self.searchqueryset = SearchQuerySet() # 初始化搜索查询集,用于处理文章搜索功能 + self.searchqueryset.auto_query('') # 执行空查询,初始化搜索结果集(可能用于后续叠加过滤条件) + self.__max_takecount__ = 8 # 定义私有变量,限制各类查询的最大返回数量为8条 def search_articles(self, query): - sqs = self.searchqueryset.auto_query(query) - sqs = sqs.load_all() - return sqs[:self.__max_takecount__] + sqs = self.searchqueryset.auto_query(query) # 使用搜索查询集执行自动查询(可能包含分词、过滤等处理) + sqs = sqs.load_all() # 预加载所有关联数据,减少数据库查询次数(优化性能) + return sqs[:self.__max_takecount__] # 限制返回结果数量,返回前N条匹配的文章 def get_category_lists(self): - return Category.objects.all() + return Category.objects.all() # 返回所有分类对象(未限制数量,通常分类数量较少) def get_category_articles(self, categoryname): - articles = Article.objects.filter(category__name=categoryname) + articles = Article.objects.filter(category__name=categoryname) # 过滤出指定分类下的所有文章(通过外键关联查询) if articles: return articles[:self.__max_takecount__] - return None + return None # 若存在符合条件的文章,返回前N条;否则返回None def get_recent_articles(self): return Article.objects.all()[:self.__max_takecount__] + # 返回所有文章的前N条(依赖于Article模型的默认排序设置) \ No newline at end of file