我想使用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'对象没有属性'污染物'。
如何实现我的目标,以避免我目前需要的所有额外代码行(如第一个示例中所示)?