问题标签 [peewee]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 Peewee 查询几个相似的数据库?
我遇到了一个关于使用 Peewee 查询多个数据库的问题:
- 我有 2 个现有的 mysql 数据库(我们将它们命名为 A 和 B)(结构相似,因为它是两个 Bugzilla 数据库)
- 我使用 Pwiz 生成模型(modelsA.py 和 modelsB.py)
- 我写了这段代码:
.
问题是:由于模型B 中的类(有时)与模型A 相同,模型B 类“覆盖”模型A 类,使得无法查询A。
此外,我不明白如何查询特定数据库之一。例如,使用以下代码:
你怎么知道这个查询将在哪个数据库上执行?
我有一个想法,但对我来说似乎很脏:我可以手动重命名 modelsA.py 和 modelsB.py 中的类以使它们不同,然后编写以下代码:
粗略地说,Peewee 能处理这种情况吗?如果是这样,该怎么做?片段将不胜感激^^谢谢。
python - 如何使用peewee limit()?
对于Peewee,我尝试使用以下限制:
然而,这会打印出 5。有人知道这里有什么问题吗?
python - peewee:从多对多关系中过滤选择查询结果
我有以下代码
产生这个输出:
这基本上是来自peewee docs的示例
我需要过滤结果并仅选择那些拥有给定子集中所有课程的学生:
我尝试使用IN运算符并修改选择查询,如下所示:
但它会产生错误的结果,这意味着我做错了:
这里有两个错误的地方:
- Student2的course3没有打印,我需要它。我认为这是因为course3不在课程列表中。
- Student4被选中,但它不应该被选中,因为Student4没有course1和course2,但course1在课程列表中。
是否有可能在一个查询中实现我想要的,或者我必须遍历学生,为每个学生进行SELECT查询,并将他们的课程列表与我的课程过滤器相匹配?
我的目标是得到这个输出:
python - 如何使用 Peewee 执行 .where(somecolumn == None/Null/Empty)?
我在我的 Flask 应用程序中使用 peewee,并且我在表中有一个可以为空的列:
我现在想选择 somecolumn 不是 null/None/Empty 的所有记录。我试图用以下方法做到这一点:
不幸的是,两者都不起作用。有人知道我该怎么做吗?欢迎所有提示!
python - Peewee ORM中如何选择和限制related_name连接?
我将 Flask 与 Peewee ORM 一起使用,我在其中定义了两个表,如下所示:
在分配表中,可以将多个用户分配给一个工单,但只计算最后一个(即,如果分配了一个新用户,则应该忽略之前的用户)。因此,我使用以下方法选择有效票证:
我现在想在我的模板中使用这个循环。但是,对于每次迭代,我还想显示分配的用户。但open_ticket[0].assigned_to
显然返回了几个分配,并与它几个用户。
有人知道我如何为循环中的每张票获取最新分配的用户吗?
python - 如何使用 peewee/mysqldb 通过 python 查询 MySQL 数据库?
我正在为 App.net 创建一个 iOS 客户端,并且正在尝试设置一个推送通知服务器。目前,我的应用程序可以将用户的 App.net 帐户 ID(一串数字)和 APNS 设备令牌添加到我服务器上的 MySQL 数据库中。它还可以删除这些数据。我改编了这两个教程中的代码:
- 如何为 iOS 应用程序编写简单的 PHP/MySQL Web 服务 - raywenderlich.com
- iOS 6 教程中的 Apple 推送通知服务:第 1/2 部分 - raywenderlich.com
此外,我已经修改了这个很棒的 python 脚本来监听 App.net 的 App Stream API。
我的 python 太可怕了,我的 MySQL 知识也是如此。我要做的是访问我需要通知的帐户的 APNS 设备令牌。我的数据库表的每个条目都有两个字段/列,一个用于 user_id,一个用于 device_token。我不确定术语,如果我能澄清这一点,请告诉我。
我一直在尝试使用peewee从数据库中读取数据,但我有点不知所措。这是一个带有占位符的测试脚本user_id
:
然后打印出来:
如果代码没有说清楚,我正在尝试使用 of 查询数据库中的行,user_id
并且1234
我想将device_token
同一行的行(同样,可能是错误的术语)存储到一个变量中,我可以当我稍后在脚本中发送推送通知时使用。
如何正确返回 device_token?此外,放弃 peewee 并简单地使用 python-mysqldb 查询数据库会更容易吗?如果是这样的话,我将如何去做呢?
python - 在 Peewee 中使用 optgroup 生成选择
我在带有 Peewee ORM 的烧瓶应用程序中有以下模型:
我想生成一个多选字段,其中每门课程都是一个 optgroup,每个活动都是 Jinja 的 opgroup 中的一个选项。
说我有这样的事情:
- 课程一
- 活动一
- 活动二
- 活动三
- 课程二
- 活动四
- 活动五
即Activity I、II和III中的ForeignKeyField指向Course I,而Course II中的ForeignKeyField指向Activity IV和V。
我的 Flask 应用程序中有以下视图:
我想得到这样的东西:
在 Jinja 中没有 optgroup 部分很容易得到这个:
但我不知道如何在 optgroup 中获取 Course.name 字段,然后在此 optgroup 中的选项中,其 ForeignKeyField 指向该课程的活动。我能想出的唯一解决方案是在 for 循环中运行所有课程,然后在该 for 循环中使用另一个 for 循环来运行所有活动并在 activity.Course.name 字段与 course.name 匹配时生成一个新选项,但这是非常低效的,因为您必须遍历每门课程的所有活动。
有没有一种简单有效的方法来生成这个选择框?
sql - Peewee (SQL) 中的字符串匹配
我正在尝试在 Peewee 中查询应该包含特定子字符串的结果。
例如,如果我只想要名称中带有“物理”的活动:
上面的例子没有给出任何错误,但不能正常工作。
在 python 中,我会这样做if "Physics" in Activity.name
,所以我正在寻找可以在查询中使用的等价物。
sql - AttributeError: 'bool' 对象在带有 SQLite 的 Peewee 中没有属性 'clone'
我正在尝试获取以下查询:
这不会给我任何错误,但会出现以下任何错误:
给我以下错误:
如果我试试这个:
它会告诉我:
我觉得这很令人困惑,因为:
工作得很好,虽然它看起来非常类似于我正在尝试做的事情。
我完全不知道这可能意味着什么,我在文档中找不到任何东西。'bool' 对象可能代表布尔值,但我看不到我的查询结果是布尔值。我也不知道“克隆”是什么意思,也不知道如何解决这个错误。
sql - 检查SQL中任何一行是否不匹配
现在,如果 StuActIgnore.activity 在此查询中有三行,那么它将使每个“通过”的会话输出 3 次。它将每个 Session 与StuActIgnore.activity 中的每一行进行比较。我知道出了什么问题;我只是不知道如何解决它。
我想要这样的东西:
那是; 如果 Activity.id 与任何StuActIgnore 行都不匹配,则将 Session 添加到查询中。我写的代码不起作用,因为 ForeignKeyField 不可迭代。
编辑:我尝试按如下方式修复它:
因为这个related_name(“ignoredactivities”)是可迭代的,但这似乎也不起作用。
EDIT2:我通过添加一个单独的 for 循环使其工作。它有效,但既不高效也不优雅:
有没有更优雅的方式来做同样的事情?