如何动态生成必须传递给load_only()的参数列表

时间:2019-05-28 12:08:42

标签: python sqlalchemy flask-sqlalchemy

我正在尝试动态创建必须传递给load_only()函数的参数。

是否可以创建一个列名列表,然后将该列表作为参数传递给load_only函数?

cols = ['id', 'project_id']
cls.query.filter_by(**filters).order_by(text(columns_order)).options(load_only(cols)).all()

此查询生成异常:

sqlalchemy.exc.ArgumentError: mapper option expects string key or list of attributes

我可以从cols中提取字符串(cols名称)并生成以下查询

cls.query.filter_by(**filters).order_by(text(columns_order)).options(load_only(cols[0], cols[1])).all()

,但是我不知道cols列表中可以包含多少列。

此查询是从类方法调用的(因此cls代表模型)。

0 个答案:

没有答案