如何访问连接SQLAlchemy中的数据

时间:2013-11-19 19:49:13

标签: python syntax sqlalchemy

给出以下sess查询:

sess = DBSession()  
reg =  sess.query(Registration,Schedule).join(Schedule,Registration.classcode==Schedule.classcode).filter(Registration.registration_no==reg_id)

如何解决结果'reg'中的字段?

reg.timeofentry抛出错误:TypeError: Can't convert 'int' object to str implicitly

我正在快速学习厌恶SQLAlchemy,因为它完全只是简单的SQL语法。所以它是神秘的包装器。

1 个答案:

答案 0 :(得分:5)

奇怪的是,在这种情况下,迭代结果row返回的命名元组reg中的名称将是RegistrationSchedule

for row in reg:
   print row.Registration, row.Schedule

我无法重现您的特定错误消息“无法将'int'对象转换为str隐式”。如果我尝试访问KeyedTuple上不存在的名称,则会有一条明确的消息:

AttributeError: 'KeyedTuple' object has no attribute 'imfake'

阅读the intro to Querying in the ORM tutorial后,查询返回值的行为应该不那么神秘。