Jsonify在Flask路径中指定的模型属性

时间:2017-09-10 07:42:34

标签: python flask orm sqlalchemy flask-sqlalchemy

我想使用flask路由输入参数来指定在JSON响应中返回哪个模型属性。这是因为我有许多属性,例如'臭氧','pm10'等等,对于每条路线,我目前都要编写一些if语句来实现这一点,例如:

@hourly_data.route('/<pollutant>/<name>/')
def all_data4(pollutant, name):
    foo = Data.query.filter_by(site=name)
    if pollutant == 'ozone':
        return jsonify({a.time: a.ozone for a in foo})
    elif pollutant == 'pm10':
        return jsonify({a.time: a.pm10 for a in foo})

这使得每条路线都相当冗长,因此最好有例如:

@hourly_data.route('/<pollutant>/<name>/')
def all_data4(pollutant, name):
    foo = Data.query.filter_by(site=name)
    return jsonify({a.time: a.pollutant for a in foo})

如果我运行上面的代码,我得到AttributeError:'Data'对象没有属性'污染物'。

如何实现我的目标,以避免我目前需要的所有额外代码行(如第一个示例中所示)?

0 个答案:

没有答案