python对象的sqlalchemy from_statement动态属性

les*_*tat 5 python attributes sqlalchemy dynamic

我有这样的模型:

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)
Run Code Online (Sandbox Code Playgroud)

有些代码很难SELECT从db中使用其他动态数据来生成RAW SQL 。

例如,它像:

db.session.query(Test).from_statement("SELECT test.id AS test_id, test.subject AS test_subject, 99 AS additional FROM test").all()
Run Code Online (Sandbox Code Playgroud)

它生成python对象的列表Test,但是如何填充additional这些python对象的属性?

我不想在数据库中存储NULLadditional

我想用SQL创建动态附加数据并将其添加到python对象。

请帮忙。

谢谢。

Ara*_*rad 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()
Run Code Online (Sandbox Code Playgroud)

它将返回(测试对象,附加)结构中的元组列表。