class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
userInfos = db.Column(db.JSON, unique=True, nullable=False) # 这里假设userInfos 为json字段,格式固定,{"phone": "", "age": *, "sex": ""}
那么如果查询手机号为***的查询代码为:
from flask_sqlalchemy import SQLAlchemy
sdb = SQLAlchemy()
# ... 此处代码省略
search_phone = '176*******6'
model = User
model = model.filter(sdb.func.json_contains(User.userInfos,sdb.func.json_object('phone', search_phone)))