【问题标题】:python sqlalchemy query filterpython sqlalchemy 查询过滤器
【发布时间】:2018-02-12 03:49:13
【问题描述】:

我正在使用 SQLalchemy 并已将数据输入数据库:

class Directions(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    key = db.Column(db.String(16), index=True, unique=False)

现在,我正在尝试搜索给定的键:

Directions.query.filter(Directions.key=={some string})

但我明白了:

<flask_sqlalchemy.BaseQuery object at 0x103df57b8>

如何发现实际的字符串?我只花了两个小时搜索文档,但是 1319 页的 haystack 没有用。

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    试试这个:

    direction = Directions.query.filter_by(key == <some string>).first()
    print(direction)
    

    【讨论】:

      【解决方案2】:

      filter 方法返回一个BaseQuery 对象,您可以在其上链接多个过滤器。您使用firstall 来获取当前查询的结果。

      【讨论】:

        【解决方案3】:

        你必须打开一个会话并使用会话对象的查询方法。例如:

        engine = create_engine(<db url>)
        Session = sessionmaker(bind=engine)
        
        with Session() as sess:
            sess.query(Directions).filter(Direction.key=={some string})
        

        导致Session 调用的代码在Session Documentation 中进行了描述,并且可能会因您的应用程序而改变。您也可以在docs 中阅读有关查询对象的更多信息。

        【讨论】:

          猜你喜欢
          • 2015-01-15
          • 1970-01-01
          • 1970-01-01
          • 2016-06-09
          • 2021-08-10
          • 1970-01-01
          • 1970-01-01
          • 2017-03-24
          • 2019-03-10
          相关资源
          最近更新 更多