使用python和flask-sqlalchemy,如何使用动态变量作为列名从表中返回值?

时间:2019-03-12 18:15:39

标签: python flask-sqlalchemy

从数据库表中,我想返回多个值。每个值位于不同的行和不同的列中。

我正在使用for循环返回每一行。在每个循环中,我都能成功地将'year'值存储在字典(state_year_dict)中。这是因为'year'是表中的列名。

states = ['alabama', 'alaska', 'arizona', ... 'wisconsin', 'wyoming']
state_year_dict = {}
state_total_dict = {}
chosen_name = NameCounts.query.filter_by(name=name, gender=gender)
for state in states:
    state_high = chosen_name.order_by(getattr(NameCounts, state).desc()).first()
    state_year_dict[state] = state_high.year

在同一循环中,我想存储循环中当前使用的“状态”中的值。但是,我不知道如何使用变量“状态”来提取所需的值。这是我尝试过的两个不起作用的示例。他们会产生一个“属性错误”,称模型没有“状态”或“ getattr”属性。

state_total_dict[state] = state_high.state
state_total_dict[state] = state_high.getattr(BabyNameCountsA, state)

我四处寻找没有运气的答案。任何见识将不胜感激。

0 个答案:

没有答案