使用sqlalchemy动态调用表值

时间:2018-04-03 11:53:40

标签: python database sqlalchemy

假设我有一个名为“info_test”的表格映射如下:

import db_info_test     
for row in self.session.query(db_info_test):
    print(row.name)

如果我想从该表中获取所有项目的名称,我会做这样的事情:

name_of_item_A
name_of_item_B
...

会打印:

def get_value(self, table, key):
    for row in self.session.query(table):
        print(row.key)

现在我想创建一个非常通用的函数来打印键的值,其中键由该函数的参数给出。像这样:

window.addEventListener('load', function(){/*my code here */}

2 个答案:

答案 0 :(得分:0)

威尔

print(dict(row)[key])

为你做这份工作?

答案 1 :(得分:0)

在Python中getattr()用于根据变量获取属性。另外,如果你想要的只是一个,你不需要查询整个模型对象及其所有属性:

def get_value(self, table, key):
    # Note the comma after value. It unpacks the 1-tuples.
    for value, in self.session.query(getattr(table, key)):
        print(value)