0

我想在 flask_sqlalchemy 中插入一个整数列表作为单列数据类型,我ScalarListType在包 SQLAlchemy-Utils 中找到:

from sqlalchemy_utils import ScalarListType 

class Foo():
    id = db.Column(db.Integer, primary_key=True)
    list = db.Column(ScalarListType(int))

我可以通过 id 查询 foo:

foo = Foo.query.filter(Foo.id==1).first()

然后, foo.list 是一个整数列表,如[0, 0, 1, 0]

但是,如何为列表中的索引构建查询?例如像Foo.list[3]==1

我找不到任何线索,请帮助我!</p>

4

1 回答 1

0

我不确定 ScalarListType 是否能够完成你想要的——它看起来不像是为通过索引查询而构建的。请参阅此处的源代码——它只是一个用逗号分隔值的文本列。

你也许可以用裸 SQL 破解一些东西,但这可能意味着在LIKE某个地方使用,或者拆分很快变得复杂的字符串。

从长远来看,最好只为这些数据创建一个单独的列。

于 2018-04-02T19:47:41.780 回答