我刚刚开始使用SQLAlchemy。我决定使用它,因为我在sqlite查询中间使用了很多字符串表达式。
所以,这就是我的问题。我的桌子上有很多设备,每个设备都有维护级别的日期。关键是用户可以选择他想在屏幕上看到的维护级别。因此,我应该为他选择的每种维护级别组合“调整”我的SQLAlchemmy。
例如,在原始SQLite中。
SELECT * WHERE(设备IN [])和m_level1 =日期和m_level2 =日期....)
因此,对于每个if条件,可能有很多组合,这取决于选中了哪些复选框。如前所述,在原始SQL中,我使用了很多字符串来达到我的目标。但是我想使用SQLAlchemy改进代码。
对不起,我现在没有代码!谢谢你们 !
我假设您正在使用ORM。
在这种情况下,该filter
函数将返回查询对象。您可以通过执行类似的操作来有条件地构建查询
query = Session.query(schema.Object).filter_by(attribute=value)
if condition:
query = query.filter_by(condition_attr=condition_val)
if another_condition:
query = query.filter_by(another=another_val)
#then finally execute it
results = query.all()
问题内容: 我正在寻找一种使用SQLAlchemy动态构造过滤器的方法。也就是说,给定该列,运算符名称和比较值,即可构造相应的过滤器。 我将尝试使用一个示例进行说明(这将用于构建API)。假设我们有以下模型: 我想将查询映射到过滤器。例如, 应该产生 应该产生 我环顾四周,看看它是如何完成的,但是找不到一种不涉及手动将每个运算符名称映射到比较器或类似名称的方法。例如,Flask- Restless
问题内容: 嗨,我想使用joinedload对查询进行过滤。但是我似乎无法使其正常工作。以下是我的示例查询 运行此命令时,它返回的行超出了我的期望。实际结果应仅返回8行。但是执行此查询后,它返回234行,这比我预期的要多 问题答案: 它不起作用的原因是(以及所有其他关系加载技术)是完全透明的。也就是说,在查询中包含a不会导致填充关系,而不会以任何其他方式影响它。您应该阅读“加入渴望的禅宗”,其开头
问题内容: 我知道您可以通过提供,为SQLAlchemy的查询构建动态过滤器。 例如 以下是我的问题: 如果我需要通过“大于”或“小于”子句进行查询怎么办?例如(原始SQL): 问题答案: 我建议不要使用,而不是使用,它为您提供了更多选择。 例如(来自手册): 关于您的情况:
问题内容: 我在SQLAlchemy上没有太多经验,并且有一个我无法解决的问题。我尝试搜索,并且尝试了很多代码。这是我的课程(简化为最重要的代码): 我想查询所有母亲的phenoscore为(例如)的患者 如前所述,我尝试了很多代码,但我不明白。在我看来,合乎逻辑的解决方案是 因为,您可以在输出时访问每个元素,但是此代码不执行此操作。 是否有(直接)按关系的属性进行过滤的可能性(无需编写SQL语句
问题内容: 我正在尝试使用三列阈值过滤pandas数据框 但是,我想在一个函数中执行此操作,在字典中将列名及其阈值提供给我。这是我的第一次尝试,可以。本质上,我将过滤器放入变量中,然后运行它: 现在,最后我将所有内容都放到了函数中,并且它停止了工作(也许函数不喜欢在函数中使用!): 我知道函数在函数内部使用时的行为会有所不同,但不确定如何解决该问题。另外,我想知道在给定两个输入的情况下,必须有一种
问题内容: 我想要的是类似于文档中的此示例的示例,但是具有唯一的输入,可以通过“ any”,“ name”或“ phone”属性来扮演过滤的三个角色,角色的更改是通过单击锚点完成的。这是准备好的代码http://jsfiddle.net/ubugnu/QuyCU/如何动态更新ng- model属性? 的HTML JS 问题答案: 您可以定义如下:动态更改应绑定到哪个变量(另一个变量在哪里)。 参见