python - 我怎样才能在 SQLAlchemy 中做到这一点?

标签 python sqlalchemy

我有一个 SQLAlchemy 模型,例如 Entity,它有一列 is_published。如果我查询这个,比如说通过 id,我只想在 is_published 设置为 True 时返回这个。我想我可以使用过滤器来实现。但如果存在关系,并且我能够并且需要像 another_model_obj.entity 一样访问它,并且我只希望在 is_published 的情况下给出相应的实体对象该实例设置为 True。我该怎么做?一种解决方案是每次使用它时都使用 if block 来解决这个问题。但我使用这个的次数太多了,如果我再次使用它,我将不得不记住这个细节。有什么方法可以在 SQLAlchemy 中自动执行此操作,或者是否有其他更好的解决方案来解决整个问题?谢谢

最佳答案

它看起来好像您需要加入:

session().query(AnotherModel).join(Entity).filter(Entity.is_published)

关于python - 我怎样才能在 SQLAlchemy 中做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757867/

相关文章:

python - 如何禁用 SQLAlchemy 缓存?

python - Flask关系模型如果不存在则多次获取或创建

python - 如何在函数之间传递变量?

python - 在 sqlalchemy 核心中使用 IFNULL

python - 如何制作类型提示前向引用

python - 向量中元素之间的最小距离

python - 具有动态映射和复杂对象查询的 sqlalchemy

python - 在 SQLAlchemy 中使用 func rank 对表中的行进行排名

python - 使用cherrypy发出HTTP请求

python - 方法Python中的测试方法