问题标签 [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.
mysql - peewee:配置不当的错误
我正在尝试在服务器上使用 peewee 运行我的应用程序,但它一直在崩溃。
要启动应用程序,在 main.py 中调用 start 函数:
它在 BaseModel 类的第一行崩溃。
我收到以下错误:“配置不当:必须安装 sqlite3、psycopg2 或 MySQLdb”。
我不明白这个错误,因为数据库在同一台服务器上运行。该数据库是使用 phpmyadmin 创建的。
当我在笔记本电脑上测试应用程序时,一切正常,为了测试,我使用 SQLite 数据库“test.db”。
python - 如何在 Flask Peewee 中使用更新查询?
嗨,我正在使用 Flask Peewee 并尝试更新 Mercer_details 模型,但它不起作用。以下是我得到的错误:
AttributeError:“SelectQuery”对象没有属性“更新”
请帮忙!
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)
可悲的是,这仍然没有产生正确的语法来选择已删除的空行。
python - 支持两个数据库后端并保持我的代码干燥的最pythonic方式/技巧是什么?
我有以下示例代码,它使用 MongoEngine 和 Peewee 作为数据库后端。
是否有任何好的做法/技巧/模块来保持我的代码干燥并避免重新定义两种方法来创建我的模型?
我应该像 PHP 中的 PDO 一样创建一个新的抽象类“UserModel”吗?
python - python peewee 文档:示例应用程序:未知语法/功能
在阅读peewee docs时,我发现了一个令人惊讶的声明:
哇,有人可以解释一下这是做什么的吗?我知道这<<
只是一个 lshift (左移)运算符(它将二进制表示向左移动以供整数,类似的行为适用于右移),但我不知道这可以处理列表(user.following()
是一个列表)。它只是peewee作者编写的运算符重载还是我不知道的某种python核心功能?
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
字段的值?
python - 在 flask-peewee 中创建一个应用程序
我正在flask-peewee 中为用户登录、注册和注销创建一个应用程序。所有应用程序都在 url 上正确路由。当我尝试发布数据而不是给出错误时,就会出现问题:-
服务器遇到内部错误并且无法完成您的请求。服务器过载或应用程序出错。还给出一个 TypeError: 'dict' object is not callable。
在 view.py :-
在models.py:-
main.py:-
应用程序.py :-
route.py 和 auth.py 也被定义,但它不能显示任何输出。发生错误。
error-handling - 在 flask-peewee 中创建一个应用程序
我正在尝试为用户注册创建一个应用程序,每当我尝试在数据库中插入值时,它都会显示错误:- TypeError: object() 不接受任何参数。
视图.py
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
将这些数据存储到临时表中。虽然这在技术上没有数据库中的数据,但它允许用户快速转储数据,而无需等待它完成。然后我有一个存储过程来处理实际的数据插入。这个解决方案有点复杂,但效果很好。
python - 在烧瓶中保存表格?
我有表格代码,我想通过表格保存数据。自定义表格是:-
视图.py:-
出现 AttributeError 错误:“数据库”对象没有属性“模型”。请帮我解决这个问题。