Python 如何创建一个表条目的实例,但不添加到ponyorm中?

Python 如何创建一个表条目的实例,但不添加到ponyorm中?,python,ponyorm,pydal,Python,Ponyorm,Pydal,如何在不向相应表插入行的情况下使用创建表定义的实例 例如,我想要的是: from pony import orm from pony.orm import Required db = orm.Database() class User(db.Entity): name = Required(str) address = Optional(str) db.bind(provider='sqlite', filename=':memory:') db.generate_mappin

如何在不向相应表插入行的情况下使用创建表定义的实例

例如,我想要的是:

from pony import orm
from pony.orm import Required
db = orm.Database()
class User(db.Entity):
    name = Required(str)
    address = Optional(str)

db.bind(provider='sqlite', filename=':memory:')
db.generate_mapping(create_tables=True)

bob = User(name='bob')

### CODE FROM HERE ON IS WRONG BUT SHOWCASES WHAT I WANT
# So far the database has not been modified
bob.add() # at this point bob is added
db.commit() # transaction is committed
上述情况是否可能?我希望这样做的原因是我希望使用类定义,而不向数据库添加项。这只是一种非常简单的方法,可以确保任何地方的用户(在本例中)都具有相同的属性

我最初使用的是
pyDAL
,我发现它很容易设置表,但在那里我必须定义表,然后还要编写类,所以我转到
ponyorm
,但不清楚我是否能实现我想要的

多谢各位

更新1:

这方面的一个示例用例是:

  • 我正在浏览一个网站
  • 我拉入“行”数据
  • 如果地址还不可用
    • 创建用户的实例
    • 不添加它,只使用类作为数据的容器
  • 如果信息可用
    • 创建一个实例,仅当记录不存在时才添加它

基本上,我希望能够将类用作信息的容器,而不必总是将其添加到数据库中。

PonyORM as ORM不提供任何信息。您仍然可以使用常规的python字典或类

users = {} # id: info
因此,当你积累(或无论你做什么)信息时,你可以创建这样的对象

@db_session
def insert_users():
    for k, v in users.items():
        User(id=k, **v)

为什么不想立即提交对象?我还是不明白你的用例。我试图更新这个问题,以提供更多关于用例的信息。我想我希望避免编写两个类,一个是ORM类,另一个是“数据容器”。我认为,没有肮脏的黑客,你是无法实现这一点的。