sqlalchemy from_statement 动态属性用于python对象
我有这样一个模型:
class Test(db.Model, UnicodeMixin):
__tablename__ = 'test'
id = db.Column(db.Integer, primary_key=True)
subject = db.Column(db.String(512), nullable=False)
additional = None
def __unicode__(self):
return u'<Test {0}>'.format(self.id)
有一些代码会生成很复杂的原始SQL语句,用于从数据库中进行SELECT
查询,并且会包含一些动态数据。
比如,它生成的代码像这样:
db.session.query(Test).from_statement("SELECT test.id AS test_id, test.subject AS test_subject, 99 AS additional FROM test").all()
这段代码生成了一系列的Python对象Test
,但是我该如何为这些Python对象填充additional
这个属性呢?
我不想在数据库中存储additional
这个列为NULL
。
我想通过SQL创建动态的附加数据,并将其添加到Python对象中。
请帮帮我。
谢谢。
1 个回答
1
这样做:
db.session.query(Test, "additional").from_statement(
"""
SELECT test.id AS test_id, test.subject AS test_subject, 99 AS additional
FROM test
"""
).all()
它会返回一个包含元组的列表,格式是(测试对象,附加信息)。