使用sqlalchemy在json键上创建索引(表达式索引)
1 个回答
9
我找到了这个问题的答案。正如Craig所提到的,这是一种基于表达式的索引,这在Postgresql 9.3的JSON列类型中得以实现。你可以通过SQLAlchemy以以下方式来完成:
假设有一个叫做MyModel
的模型,以及一个名为data
的JSON列类型,格式如下:
{"my_key": "my_value"}
要在my_key
上创建一个基于表达式的索引,你可以这样做:
index = Index("my_index_name", MyModel.c.data['my_key'].astext)
index.create(engine)
这个问题的最初答案来自于Mike Bayer,他在SQLAlchemy的谷歌小组中提供了这个信息,你可以在这里找到。