我需要弄清楚如何创建一个具有可选ORM功能的类,即有时我需要将它保存到数据库中,有时我不需要(我将没有连接)。
例如,SQLObject不起作用,因为当我不提供连接时它会barfs,所以如果没有连接我就无法使用它。一个选项是定义单独的类,一个是基类,另一个是继承自基类的ORM类,并更新所有原始字段的setter中的ORM字段。这将是一个主要的痛苦。
有人知道让我定义ORM类的库,但不要求我保存或从DB中获取吗?
修改 好的,这是一个例子。假设我有一个脚本来抓取网络并编译一个人和他们喜欢的颜色袜子的列表。我有两个类,一个Person类和一个Sock类。该脚本为用户提供了将已处理数据(Person和Sock类)保存回csv,json或其他非db格式文件的选项,或者将信息保存到数据库(sqlite3,mysql)等等。)
答案 0 :(得分:0)
我已经将sqlalchemy用于你的建议。它还允许您编写单独的映射器,这可能与您的用例更加一致。请参阅下面的两个链接以获取两个不同的接口。
声明性界面:http://docs.sqlalchemy.org/en/rel_0_8/orm/extensions/declarative.html
Mappers:http://docs.sqlalchemy.org/en/rel_0_8/orm/mapper_config.html#classical-mapping