问题标签 [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.

0 投票
2 回答
10900 浏览

mysql - peewee:配置不当的错误

我正在尝试在服务器上使用 peewee 运行我的应用程序,但它一直在崩溃。

要启动应用程序,在 main.py 中调用 start 函数:

它在 BaseModel 类的第一行崩溃。

我收到以下错误:“配置不当:必须安装 sqlite3、psycopg2 或 MySQLdb”。

我不明白这个错误,因为数据库在同一台服务器上运行。该数据库是使用 phpmyadmin 创建的。

当我在笔记本电脑上测试应用程序时,一切正常,为了测试,我使用 SQLite 数据库“test.db”。

0 投票
3 回答
9790 浏览

python - 如何在 Flask Peewee 中使用更新查询?

嗨,我正在使用 Flask Peewee 并尝试更新 Mercer_details 模型,但它不起作用。以下是我得到的错误:

AttributeError:“SelectQuery”对象没有属性“更新”

请帮忙!

0 投票
1 回答
15288 浏览

python - 用于在空字段上选择的 Peewee 语法

我到处研究过这个问题,似乎找不到答案。我希望我没有重复这个(因为这是我关于 SO 的第一个问题)。

我正在尝试使用 Peewee 编写一个通常会执行的选择查询... WHERE foo = NULL; 在 SQL 世界中。

MySQL 看起来像这样:

我的选择查询如下所示:

但它不起作用!我试过Peers.deleted == ""Peers.deleted == "NULL"。MySQL 语法应该以结尾,WHERE deleted is NULL;但 Peewee 中似乎没有这样做。

任何人都可以帮忙吗?我从文档中遗漏了什么?

从 Foo Bar 用户的评论更新:没用 and not Peers.deleted,但它让我了解了更多信息。似乎 peewee 希望将where条款链接在一起。所以而不是

Peers.select().where(Peers.user == 'foo' and Peers.deleted is None)

它应该是:

Peers.select().where(Peers.user == 'foo').where(Peers.deleted is None)

可悲的是,这仍然没有产生正确的语法来选择已删除的空行。

0 投票
1 回答
325 浏览

python - 支持两个数据库后端并保持我的代码干燥的最pythonic方式/技巧是什么?

我有以下示例代码,它使用 MongoEngine 和 Peewee 作为数据库后端。

是否有任何好的做法/技巧/模块来保持我的代码干燥并避免重新定义两种方法来创建我的模型?

我应该像 PHP 中的 PDO 一样创建一个新的抽象类“UserModel”吗?

0 投票
1 回答
142 浏览

python - python peewee 文档:示例应用程序:未知语法/功能

在阅读peewee docs时,我发现了一个令人惊讶的声明:

哇,有人可以解释一下这是做什么的吗?我知道这<<只是一个 lshift (左移)运算符(它将二进制表示向左移动以供整数,类似的行为适用于右移),但我不知道这可以处理列表(user.following()是一个列表)。它只是peewee作者编写的运算符重载还是我不知道的某种python核心功能?

0 投票
1 回答
4731 浏览

python - Python peewee - 从多个表中选择

我正在尝试使用 peewee 从单独的表中选择两个字段。我相信我的问题是迭代生成的对象。

我在 Python 中有以下代码:

该代码生成以下 SQL:

在 MySQL Workbench 中执行该操作,我得到一个包含两个字段的表:SystemHeader_Name, System_Value.

我试图弄清楚如何System_Value从查询包装器中获取。如果我执行以下操作:

我收到一个AttributeError,说明'System_Headers' object has no attribute 'System_Value'.

请注意,如果我只尝试做print s.SystemHeader_Name,它会完美执行。

如何捕获我的System_Value字段的值?

0 投票
0 回答
655 浏览

python - 在 flask-peewee 中创建一个应用程序

我正在flask-peewee 中为用户登录、注册和注销创建一个应用程序。所有应用程序都在 url 上正确路由。当我尝试发布数据而不是给出错误时,就会出现问题:-
服务器遇到内部错误并且无法完成您的请求。服务器过载或应用程序出错。还给出一个 TypeError: 'dict' object is not callable。

在 view.py :-

在models.py:-

main.py:-

应用程序.py :-

route.py 和 auth.py 也被定义,但它不能显示任何输出。发生错误。

0 投票
1 回答
152 浏览

error-handling - 在 flask-peewee 中创建一个应用程序

我正在尝试为用户注册创建一个应用程序,每当我尝试在数据库中插入值时,它都会显示错误:- TypeError: object() 不接受任何参数。

视图.py

0 投票
0 回答
2123 浏览

python - Python peewee 一次将多条记录插入到多个表中

概述
我有一个关系 MySQL InnoDB 数据库。我目前有代码可以使用 Python 2.6.6 中的 peewee ORM 将数据添加到我的数据库中。问题是,由于我所有的外键,我最终每个数据点做了五个SELECT和(最坏的情况)五个INSERT语句。您可以想象,当我尝试添加 5,000,000 个左右的数据点(40 MiB 左右的数据)时,由于所有事务,这需要非常长的时间。

示例
这是一个虚拟示例,以演示我正在尝试做的事情:

问题
在该基本示例中,输入文件中的每一行使用两条SELECT语句,最多使用两条INSERT语句。对于非常大的文件,将所有这些数据放入数据库需要大量时间。

我想要某种方法来读取输入文件的块,然后执行一条INSERT语句将所有数据大量转储到数据库中。因为我不会知道所有的 FK 关系,所以我仍然需要做所有这些SELECT陈述;但是,因为我所有的 FK 都是自动递增的,所以我可以手动跟踪它们。

理想情况下,我想用 peewee 来做这件事;但是,我也对纯 SQL 解决方案持开放态度。我在想我可以建立我试图插入内存的所有数据,然后一次全部转储。使用这种方法,除了数据库之外,我还需要检查内存内容是否存在任何 FK 关系。

基本上,我正在寻找“最快”的方式来获取大量数据并将其转储到数据库中。非常感谢任何输入,我现在几乎被卡住了。

解决方案
我能够为客户提出一个比上述实现快 2,000 倍以上的解决方案。我最终构建了一个包含所有数据的 CSV 文件,将其复制到服务器,然后使用LOAD DATA INFILE将这些数据存储到临时表中。虽然这在技术上没有数据库中的数据,但它允许用户快速转储数据,而无需等待它完成。然后我有一个存储过程来处理实际的数据插入。这个解决方案有点复杂,但效果很好。

0 投票
2 回答
1598 浏览

python - 在烧瓶中保存表格?

我有表格代码,我想通过表格保存数据。自定义表格是:-

视图.py:-

出现 AttributeError 错误:“数据库”对象没有属性“模型”。请帮我解决这个问题。