SQLAlchemy 全面解析:原理、架构与应用
1. SQLAlchemy 基础查询与哲学理念
1.1 基础查询示例
在处理权限和用户关系时,我们可以通过 Python 代码来统计每个权限下的用户数量。以下是一个简单的示例:
users = set()
for g in p.groups:
for u in g.users:
users.add(u)
print 'Permission %s has %d users' % (p.permission_name, len(users))
同时,使用 SQLAlchemy 的 SQL 表达式语言也能实现相同的功能,并且能在数据库端完成大部分工作,减少数据传输,提高性能:
from sqlalchemy import select, func, and_
from sqlalchemy import Permission, user_group, group_permission, Group
q = select([Permission.c.permission_name,
func.count(user_group.c.user_id)],
and_(Permission.c.id == group_permission.c.permission_id,
Group.c.id == group_permission.c.group_id,
超级会员免费看
订阅专栏 解锁全文
1059

被折叠的 条评论
为什么被折叠?



