SqlAlchemy 字段為JSON類型查詢
-
要求Mysql5.7+
-
model
class SysTestModel(Base):
__tablename__ = "sys_test_data"
id = Column(BIGINT, primary_key=True)
name = Column(String(64), comment="name")
relation_dict = Column("relation_dict", JSON, comment="json數據")
memo = Column(String(10))
def __str__(self):
return "<SysTestModel {}>".format(self.id)
relation_dict
保存數據結果為
[{"rel": "小明"}, {"rel": "123"}, {"rel": "小紅"}]
- 實現查詢
query = SysTestModel.query.filter(db.func.json_contains(SysTestModel.relation_dict, db.func.json_object("rel", "123")))