我正在尝试动态创建必须传递给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
代表模型)。