From 982e6fcbdefd82b6bc063f1005d32fc5558fc1c8 Mon Sep 17 00:00:00 2001 From: ThankCAT Date: Mon, 24 Mar 2025 22:21:45 +0800 Subject: [PATCH] =?UTF-8?q?refactor(crud=5Fopera=5Flog):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=97=A5=E5=BF=97=E6=9F=A5=E8=AF=A2=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A0=BC=E5=BC=8F=E5=92=8C=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 `get_list` 方法的参数格式调整为多行以提高可读性,并将过滤条件中的 `username` 和 `ip` 字段的匹配方式从直接拼接字符串改为使用 `__like` 操作符,以增强代码的可维护性和一致性。 --- backend/app/admin/crud/crud_opera_log.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/app/admin/crud/crud_opera_log.py b/backend/app/admin/crud/crud_opera_log.py index 90cce0ba6..8f83c1d6e 100644 --- a/backend/app/admin/crud/crud_opera_log.py +++ b/backend/app/admin/crud/crud_opera_log.py @@ -9,7 +9,12 @@ class CRUDOperaLogDao(CRUDPlus[OperaLog]): - async def get_list(self, username: str | None = None, status: int | None = None, ip: str | None = None) -> Select: + async def get_list( + self, + username: str | None = None, + status: int | None = None, + ip: str | None = None, + ) -> Select: """ 获取操作日志列表 @@ -20,12 +25,12 @@ async def get_list(self, username: str | None = None, status: int | None = None, """ filters = {} if username is not None: - filters.update(username=f'%{username}%') + filters.update(username__like=f"%{username}%") if status is not None: filters.update(status=status) if ip is not None: - filters.update(ip=f'%{ip}%') - return await self.select_order('created_time', 'desc', **filters) + filters.update(ip__like=f"%{ip}%") + return await self.select_order("created_time", "desc", **filters) async def create(self, db: AsyncSession, obj_in: CreateOperaLogParam) -> None: """