我有一个flask-sqlalchemy数据库类,它具有超过250个成员变量。我需要对它们进行JSON处理以响应POST请求。
我在这里找到this的答案以使用循环访问此成员,并且我将其更改为:
Logs = apps.models.Logs.query.filter_by(FlightID=fligtID).all()
logList = []
for Log in Logs:
logDict = {}
classMembers = [attr for attr in dir(Log) if not callable(getattr(Log, attr)) and not attr.startswith("__") and not attr.startswith("_") and not attr.startswith("meta") and not attr.startswith("query")]
for member in classMembers:
logDict[member] = getattr(Log, member)
logList.append(logDict)
return jsonify(logList)
此解决方案有效,但是当我们考虑服务器端的性能时,这是使其成为最佳解决方案的最佳选择。使用flask-sqlalchemy还有其他方法吗?
这里是示例日志摘要,很抱歉,我不能再分享更多。:
class Logs(db_logs.Model):
__bind_key__ = 'logs'
__tablename__ = 'logs'
ID = db_logs.Column(db_logs.Integer, primary_key=True)
FlightID = db_logs.Column(db_logs.Integer)
foo_time = db_logs.Column('foo.time', db_logs.Float)
foo_x = db_logs.Column('foo.x', db_logs.Float)
foo_gain = db_logs.Column('foo.gain', db_logs.String(255))
bar_time = db_logs.Column('bar.time', db_logs.Float)