我定义了一个 SqlAlchemy 模型
from sqlalchemy.dialects.postgresql import JSONB
class User(db.Model):
__tablename__ = "user"
id = db.Column(db.Integer, primary_key=True)
nickname = db.Column(db.String(255), nullable=False)
city = db.Column(db.String(255))
contact_list = db.Column(JSONB)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
def add_user():
user = User(nickname="Mike")
user.contact_list = [{"name": "Sam", "phone": ["123456", "654321"]},
{"name": "John", "phone": ["159753"]},
{"name": "Joe", "phone": ["147889", "98741"]}]
db.session.add(user)
db.session.commit()
if __name__ == "__main__":
add_user()
Run Code Online (Sandbox Code Playgroud)
如何使用电话从我的contact_list 中检索姓名?例如,我有147889,我如何检索Joe?
我试过这个
User.query.filter(User.contact_list.contains({"phone": ["147889"]})).all()
但是,它返回给我一个空列表, []
我怎样才能做到这一点?