赞
踩
sqlalchemy是python的ORM框架,可以让我们动态地写sql语句
在学习过程中遇到了一些小的坑点,这里记录一下:
假设一个简单基类student:
- class student(base):
- __tablename__ = 'student'
- id = Column(String(16),primary_key=True)
- name = Column(String(16), nullable=False)
-
情况1:query查询表中所有字段
res = session.query(student).all()
会返回所有查询到的student对象组成的一个list,list内是每个对象的地址,可以通过res[index].属性名进行访问,例如res[0].id
情况2:query查询某一个或多个特定字段
res = session.query(student.name).all()
同样会返回一个list,但是list内的元素是所要查询属性组成的一个个元组,例如[('小明',),('小红',)],此时可以通过res[index][index]或者res[index].属性名进行访问,例如res[0][0]或res[0].id
ps:上述情况中不加all()效果一样,只不过返回信息变为了sql执行语句,仍然可以通过上述方式进行访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。