From b38509b2f5856f921673b6c7e87731d5f65ca667 Mon Sep 17 00:00:00 2001 From: HibiKier <45528451+HibiKier@users.noreply.github.com> Date: Thu, 17 Apr 2025 16:58:06 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E6=8F=92=E4=BB=B6=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=BF=87=E6=BB=A4=E7=88=B6=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=20(#1894)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * :bug: 插件获取默认过滤父插件 * :bug: 修复插件获取 --- zhenxun/models/plugin_info.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/zhenxun/models/plugin_info.py b/zhenxun/models/plugin_info.py index b6dfd2ce..862aea8c 100644 --- a/zhenxun/models/plugin_info.py +++ b/zhenxun/models/plugin_info.py @@ -60,27 +60,41 @@ class PluginInfo(Model): table_description = "插件基本信息" @classmethod - async def get_plugin(cls, load_status: bool = True, **kwargs) -> Self | None: + async def get_plugin( + cls, load_status: bool = True, filter_parent: bool = True, **kwargs + ) -> Self | None: """获取插件列表 参数: load_status: 加载状态. + filter_parent: 过滤父组件 返回: Self | None: 插件 """ + if filter_parent: + return await cls.get_or_none( + load_status=load_status, plugin_type__not=PluginType.PARENT, **kwargs + ) return await cls.get_or_none(load_status=load_status, **kwargs) @classmethod - async def get_plugins(cls, load_status: bool = True, **kwargs) -> list[Self]: + async def get_plugins( + cls, load_status: bool = True, filter_parent: bool = True, **kwargs + ) -> list[Self]: """获取插件列表 参数: load_status: 加载状态. + filter_parent: 过滤父组件 返回: list[Self]: 插件列表 """ + if filter_parent: + return await cls.filter( + load_status=load_status, plugin_type__not=PluginType.PARENT, **kwargs + ).all() return await cls.filter(load_status=load_status, **kwargs).all() @classmethod