ref:将部分原生SQL替换成ORM的API

This commit is contained in:
zy7y 2022-09-21 15:25:52 +08:00
parent ebf5b77788
commit 5dd88353e9
2 changed files with 2 additions and 19 deletions

View File

@ -1,5 +1,3 @@
from tortoise import connections
from dbhelper.menu import get_menu from dbhelper.menu import get_menu
from models import RoleMenuModel, UserRoleModel from models import RoleMenuModel, UserRoleModel
from schemas import UserRole from schemas import UserRole
@ -16,15 +14,8 @@ async def role_assigned_menu(data):
if await get_menu({"id": mid}) is None: if await get_menu({"id": mid}) is None:
return mid return mid
# todo 性能优化
db = connections.get("default")
# 1. 先把所有数据做删除 # 1. 先把所有数据做删除
await db.execute_query_dict( await RoleMenuModel.filter(rid=data.rid).update(status=9)
"""
update sys_role_menu set status = 9 where rid = (?)
""",
[data.rid],
)
# 2. 新增数据 # 2. 新增数据
await RoleMenuModel.bulk_create( await RoleMenuModel.bulk_create(
[RoleMenuModel(rid=data.rid, mid=mid) for mid in data.menus] [RoleMenuModel(rid=data.rid, mid=mid) for mid in data.menus]

View File

@ -105,15 +105,7 @@ async def put_user(uid: int, data: UserPut):
) )
# 2. 将先有的数据标记 删除 # 2. 将先有的数据标记 删除
[ [await UserRoleModel.filter(rid=role["id"]).update(status=9) for role in has_roles]
await db.execute_query_dict(
"""
update sys_user_role set status = 9 where rid = (?)
""",
[role["id"]],
)
for role in has_roles
]
# 2. 新增次此更新的数据 # 2. 新增次此更新的数据
await UserRoleModel.bulk_create( await UserRoleModel.bulk_create(