如何使用Flask SQLAlchemy动态加载然后访问所有Python Model属性

时间:2019-02-24 18:40:49

标签: python sqlalchemy flask-sqlalchemy

我有以下查询:

refund_requests = RefundRequest.query\
            .with_entities(RefundRequest.id, User.email)\
            .join(User, User.id == RefundRequest.user_id) \
            .join(UserProperty, UserProperty.id == User.id) \
            .join(RefundRequestDetails, RefundRequestDetails.refund_requests_id == RefundRequest.id) \
            .join(Currency, RefundRequestDetails.currency_id == Currency.id) \
        .join(RefundRequest.project).all()

它可以工作,但是如何从RefundRequest和所有相关模型中动态加载所有属性?

我知道我可以在with_entitites()函数中选择所有属性(在上面的代码中,我仅从用户模型中选择ID和电子邮件),但是我不想列出所有50个属性。

我还知道,通过删除with_attributes()函数,我可以使用关系访问其他Model属性,但是在我的代码中,我创建了一个字符串列表,其中列出了每个column(attribute)名称。该列表由用户动态创建-我不知道用户在fontend中选择了哪个值。 例如,该列表如下所示:

list_of_attr = ['id', 'email', 'full_name']

full_name是UserProperty属性。

0 个答案:

没有答案