gpt4 book ai didi

python - 创建 Pony ORM 实体而不获取相关对象?

转载 作者:行者123 更新时间:2023-11-29 09:32:19 25 4
gpt4 key购买 nike

我最近开始使用 Pony ORM,我认为它非常棒。尽管 API 在官方网站上有详细记录,但我在处理关系方面遇到了困难。特别是我想插入一个作为集合一部分的新实体。但是,我似乎无法找到一种在不先获取相关对象的情况下创建实体的方法:

post = Post(
#author = author_id, # Python complains about author's type, which is int and should be User
author = User[author_id], # This works, but as I understand it actually fetches the user object
#author = User(id=author_id), # This will try and (fail to) create a new record for the User table when I commit, am I right?
# ...
)

最终只将id值插入到表中,当我只需要id时为什么要获取整个对象?

编辑

我快速浏览了一下 Pony ORM 源​​代码,使用反向实体的主键应该可以工作,但即使在这种情况下,我们最终也会调用 _get_by_raw_pkval_ 从本地获取对象缓存或来自数据库,因此可能是不可能的。

最佳答案

它是内部 API 的一部分,也不是 Pony 假设您使用它的方式,但如果您确定您有,您实际上可以使用 author = User._get_by_raw_pkval_((author_id,))具有这些 id 的对象。

关于python - 创建 Pony ORM 实体而不获取相关对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58433292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com