问题标签 [ponyorm]
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.
ponyorm - 连接 PonyORM 的问题
我发现 Pony 是用于小型项目的好工具。但是,当您的项目增长到某个点时,将 @db_session 放置在您的函数中对于编写的每个函数几乎都是强制性的。
遵循 SOLID 原则,我正在尝试连接 PonyORM。然而,事实证明并不像我想象的那么容易。
这是我试图做的一个例子。但是,当我执行以下操作时遇到了问题:
如果我理解正确的话,在做user.phone_numbers.count()
一个新pony.orm.core.Query
对象的时候会创建一个。
我想改为返回一个CustomQuery
允许 db_session 持续存在的对象。
关于如何做到这一点的任何想法?或者其他人处理一堆@db_session
装饰器的其他方式?
python - ponyORM:如何绕过选择限制
我想通过在多个条件下连接多个表来选择行......它失败了。
PonyORM
似乎限制了“if语句”中的条件数量。
为了重现,在 estore.py / test_queries (PY3.6, PonyORM 0.73) 中,一个愚蠢的例子:
如果Nbr of c.country! = 'A' <= 24
,它可以工作,但是>= 25
,它在 decompile.py 中失败
如何绕过这个限制,烦人的查询有很多表和条件?
编辑: 作为一种解决方法,我们可以通过添加.where来拆分查询
python - Python/ PonyORM /MySQL - 使用多个 URL Args 进行查询
我有一个网址https://example.com?p1=nai&p2=tex&p3=mak
我在 MYSQL 上使用 PONY ORM + Flask。我想获取与 URL 参数匹配的所有行。p1、p2 和 p3 是表上的字段,可以根据用户输入而变化
在 MySQL 中,我会做类似的事情 [SELECT * FROM Table Name WHERE p1=nai&p2=tex]
在我的 PONY/Flask 代码下方
我上面的查询只返回第一个参数的匹配项。即如果 p1 = nai 那么它将返回所有 p1= nai 并忽略其余部分。我错过了什么?注意:不要担心 SQL 注入
unit-testing - 模拟小马 ORM 实体
我正在尝试测试这样的功能:
测试:
但我收到此错误: TypeError: Cannot iterate over non-entity object
关于如何创建假实体并测试功能的任何想法?
python - pony.orm 中与 create_tables=False 的关系
目的是让两个简单的类代表数据库中已经存在的两个相关表。
代码是:
我试图遵循我在文档中看到的方法,但是执行上面的代码给了我:
psycopg2.ProgrammingError:列结构。系统不存在
第 1 行:...ctures"."structure_id", "structures"."system_id", "structure...提示:也许您的意思是引用列“structures.system_id”。
这里缺少什么?
ponyorm - PonyORM 中的模式迁移
如果修改了使用在线编辑器创建的模式,PonyORM 是否会执行所需的ALTER TABLE
语句来升级模式?
ponyorm - Comparing entity instances in PonyORM
I am trying to compare PonyORM entity instances for identity/equality. Consider the following code, using the estore
example database:
Entities with the same primary key test as identical and equal if and only if retrieved in the same db_session
.
What is the rationale behind this behaviour? (From the docs: If object with the specified primary key was already loaded into the db_session() cache, Pony returns the object from the cache without sending a query to the database. This explains the result of the identity test. I would still expect to see equality in both test 1 and 2.)
What is the recommended way to test for equality (other than comparing primary keys)?
python - 带有 psycopg2 的 Ponyorm:服务器意外关闭了连接(会话超时?)
我正在使用示例中的标准小马“架构”。如果我执行以下步骤,则会出现问题:
- 开始申请。我可以正常使用数据库
- 我可以通宵做压力测试,一切顺利
- 如果我在 10 到 15 分钟内什么都不做,然后我尝试执行某些操作,我会收到以下异常消息:
版本:
小马。版本 “0.7.3”
psycopg2。版本 “2.7.5(dt dec pq3 ext lo64)”
蟒蛇3.6
过了一会儿,光标断开连接,psycopg2
抛出一个Operational Error
,由小马重新提出。
注意:我已经为ponyorm创建了一个问题,但是我不能 100% 确定这是小马的错误。一些调查的问题在这里:https ://github.com/ponyorm/pony/issues/357
python-3.6 - 如何检查小马 orm 缓存中是否存在对象?
我正在尝试一些数据处理,然后一次性插入,表有一些复合键,我用它们来检查该 Id 的记录是否存在,然后它应该更新记录而不是创建。
虽然数据处理有可能在样本数据中多次存在相同的 ID,并且在处理时它不会在 db 中找到与该 ID 匹配的记录,因此它每次都尝试创建记录。
有什么方法可以检查缓存中的复合键匹配吗?
python - "ALTER TABLE" to add a database column with Pony ORM
I try to update an SQL database using Pony ORM, but I didn't found how to ALTER an SQL table to add a column.
What i want to do is:
Could someone help me?