给出以下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语法。所以它是神秘的包装器。
答案 0 :(得分:5)
奇怪的是,在这种情况下,迭代结果row
返回的命名元组reg
中的名称将是Registration
和Schedule
:
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后,查询返回值的行为应该不那么神秘。