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

0 投票
1 回答
87 浏览

python - 如何使用 ponyorm 中的实体进行 get() 查询

我正在使用ponyorm。如何将此查询转换为仅返回一个结果(如果存在)的查询?如果有多个结果,我希望它抛出错误,类似于entity.get()查询。

谢谢你。

0 投票
1 回答
332 浏览

json - 我应该如何使用 .json 文件播种这个 PonyORM - SQLite 数据库?

我应该如何通过 setup.py 将数据从 .json 文件加载到数据库?

我一直在尝试解决这个问题超过 6 小时。我查看了 PonyORM 文档和 JSON 文档。我无法找到足够的信息来解决问题。

entity.py 文件应该是正确的,仅供参考,我已将数据库的预期结构附加为图像。populate_database() 信息在创建后添加到数据库中。这按预期工作。

config.py 确实可以正常工作。

首先我运行这段代码来创建数据库和表:

在我运行此代码以将数据从 json 文件加载到数据库后:

这是json文件内容:

config.py 只包含:

任何建议将不胜感激,在此先感谢。

数据库结构

0 投票
1 回答
111 浏览

python - 在 PonyORM 上的实体继承中返回 None 作为类类型

在学习PonyORM 上的实体继承期间,出于好奇,我实现了以下内容:

我期望的输出如下:

但是,实际结果如下:

我在 IPython 等交互式控制台上对其进行了测试,并作为 python 文件运行。但是,两个结果是一样的。它在 Python 2.7.10 和 Python 3.6.0 上进行了测试。

本来我想做的是

  • 将 name 和 classtype 对作为 person 的唯一标识符。

例如,作为教授的汤姆和作为学生的汤姆应该是不同的。

我认为这与不同的 db_session 问题有关,但在这种情况下,我该如何检索Person['Student', 'tom']Student[None, 'tom']?他们有不同的制作方法classtypename作为主键吗?

有人可以告诉我我需要尝试什么吗?我错过了什么?

ps,我已经在 sqlite 和 PostgresSQL 9.5.1 上测试过了。

0 投票
1 回答
172 浏览

python - 使用 timedeltas 查询小马 orm 的断言错误

我有一个sqlite3使用 Pony orm 访问的数据库(版本 0.7.1,带有 python 3.6.0)。

列/字段之一是持续时间 ( timedelta)。我正在尝试选择持续时间小于给定时间的所有行。

我正在做的最小示例:

当我运行这个时,我得到AssertionError: delta

使用pony.orm.select(x for x in TestTime if x.td < delta)语法查询会产生同样的错误。

如果有帮助,完整的跟踪是:

我做错了什么,还是有更好的方法?

0 投票
2 回答
765 浏览

python - 使用 Pony ORM 进行分页

有没有使用 Pony ORM 进行分页的最佳实践?

我看到其他人有这些方法has_nexthas_previous辅助方法,但在 Pony 中我是靠我自己的。

到目前为止,这就是我所拥有的几个 Jinja 助手:

max_page计算如下:math.ceil(MyTable.select().count()/PAGE_SIZE)

但是有点乏味,您必须不断发送当前页面和最大页面。

所以我错过了什么吗?有更好的办法吗?

0 投票
1 回答
495 浏览

python - 不能在 sqlite3 blob 字段上使用小马 orm

只是尝试使用小马 ORM(和 python3.5,sqlite3)进行一些基本练习。我只想打印一些我拥有的数据的选择查询,而不需要进一步处理。Pony orm 似乎根本不喜欢那样......

sqlite 数据库转储

这是我尝试在 python3.5 交互式 shell 上运行的代码:

它像这样失败:

我使用这个错误,还是这是一个错误?我不介意提交错误,但这是我第一次使用这个 orm,所以我认为最好先检查一下......

0 投票
1 回答
142 浏览

python - 在 Pyramid 中管理 Pony 会话

以下代码引发DatabaseSessionIsOver异常,如本文所述:

我使用 解决了这个问题,这是上面提到的帖子中建议return render_to_response('templates/home.jinja2', {'x': x})的金字塔等价物。render_template()

一切正常,但我认为有更好的解决方案:我认为我应该告诉 Pyramid 管理 Pony 会话。

可能吗?

我该怎么做?

0 投票
1 回答
3165 浏览

python - Python:使用 Pony ORM 进行简单排序

我尝试在小马 orm 中使用 order_by 聚合实现一个简单的选择:

所以,我尝试了一些方法:第一种方法引发错误消息:

这样,我从 python 收到错误消息:“NotImplementedError:按属性排序仅限于返回简单对象列表的查询。尝试使用其他形式的排序(按元组元素编号或完全成熟的 lambda expr)”

第二种方式,按顺序选择是否可以正常工作,但在我的字典中插入会破坏disered选择顺序

结果如下:

但是字典是:

现在的问题是:如何在没有此错误消息的情况下使用 order_by 聚合的第一种方式。或者,我如何将公司 id 和公司名称的值放在排序后的字典中

我希望有人能理解我糟糕的英语;)

问候

尼塞尔

0 投票
1 回答
1974 浏览

python - 如何在 Pony ORM 中使用 SQL 视图

我正在尝试使用 Pony ORM 获取 MySQL 中的 View 返回的数据,但文档没有提供有关如何实现此目的的任何信息(好吧,直到此刻我才找到任何解决方案)。Pony ORM 可以做到这一点吗?如果是这样,我应该怎么做才能让它工作?

这是我的 MySQL 视图:

0 投票
1 回答
276 浏览

database-design - Pony ORM 和微服务架构

我们有一个使用 Flask/Pony 框架构建的单体应用程序。它现在很好用。

但是,在不久的将来,我们将开始转向微服务架构。在这个过程中,我们很可能会为每个服务创建一个单独的 Db。由于许多我不会讨论的原因,这是有益的。但是当考虑目前在表之间开发的外键关系时,我会挂断电话,而且我知道许多其他人也会挂断电话。

人们通过非规范化他们的数据库最终在另一个服务的数据库中重复表来解决这个问题。

我很好奇 pony 的用户对这个解决方案的看法以及它是否可行。

在使用微服务架构时,其他使用 PonyORM 或任何其他 ORM 的人有什么想法?

编辑:

我们现在的数据库很简单:

现在这一切都在一个 Db 中,但逻辑在两个不同的服务中。用户服务和角色服务。角色服务控制允许用户访问的权限和视图。

理想情况下,我想将这些拆分为单独的 Db,但仍然能够保持两者之间的关系。我不认为它可以通过自然的 sql 查询/索引来完成(或者可以吗?)。