2015-06-20 57 views
0

因此,我已生成使用SQLAlchemy的,像这样的查询对象(其中建立事务()是我写的函数):输出格式属性

sess = create_session(test_db) 
q = sess.query(A).all() 

然后,创建这个对象(其本身是一个后对象列表) 我遍历它来获取信息。假设我想要列表中每个对象的id属性,我只是这样做。

for row in q: 
    print row.id 

这给了我输出:

1 
2 
3 
4 

不过,现在我想创建的所有ID的列表。所以,我这样做。

ks = [] 
for row in q: 
    ks.append(row.id) 

打印的名单,我得到:

[1L, 2L, 3L, 4L] 

为什么格式不同?有什么方法可以将纯整数添加到我的列表中吗?最终目标是创建一个以ID为键的字典,然后将整个对象(从我的查询返回的原始列表)作为值创建。我可以使用一些字符串方法将它们简化为普通整数,但如果我可以直接使用所需的形式,它会更容易。谢谢。

回答

0

嗯,问题和将int()方法应用到我的id一样简单。

ks = [] 
for row in q: 
    ks.append(int(row.id)) 

但是,我仍然不确定为什么id以这种奇怪的格式返回。谁能提供见解?