如何在不向相应的表中插入行的情况下使用创建表定义的实例。
例如我想要的是:
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:
一个示例用例是:
我正在抓取一个网站
我拉入“行”数据
如果地址尚不可用
创建用户实例
不添加它只是使用类作为数据的容器
如果信息可用
创建一个实例,只有当记录不存在时才添加它
基本上,我希望能够将 Class 用作信息的容器,而不必总是将其添加到数据库中。
Qyouu
相关分类