我正在寻找一种将JSON对象列表转换为近似SQLAlchemy模型的方法。有没有实施?
答案 0 :(得分:1)
这是我在我的一个项目中所做的,它将json输入从http请求动态转换为sqlalchemy
模型:
if request.method == "POST" or request.method == "PUT":
data = request.get_json(force=True)
print("data:", data)
try:
TableClass = models.get_class_by_tablename(table_name)
if TableClass == None: raise Exception("Table not found: %s" % table_name)
if request.method == "POST": #insert data
object = TableClass(**data)
dbsession.add(object)
dbsession.commit()
else: #update data
object = dbsession.query(TableClass).filter_by(**{"id":id}).first()
if object == None: raise Exception("No data found.")
#object.update(**data)
for key in data.keys():
setattr(object, key, data[key])
#dbsession.add(object)
dbsession.commit()
return jsonify({
"status": "success",
"id": object.id,
})
except Exception as e:
return jsonify({
"status": "error",
"error": str(e),
})
data
是从json输入转换为通常的python字典的变量。然后将**data
作为参数传递给sqlalchemy表类的实例创建。