python数据库抽象来存储未打开的数据结构

我正在寻找一种在数据库中存储
python对象的通用方法.当然我可以腌制对象,但这样我在数据库中会有二进制blob.这样我就无法搜索我的对象.此外,将它与其他应用程序放在一起似乎更容易.

所以在我的幻想中,我对象就像

class myClass
    data1=1
    data2='foobar'
    data3=some_html_object
    ...

并且可以做类似的事情

mydata=myClass()
mydata.add_data(various_things)
mydata.save_to_database()

并且最终会得到一个数据库,其中包含名为data1,data2,data3的列,其中我将行中的对象属性的值存储为可搜索的文本.当然,必须进行一些初始设置.

当然,如果我可以插入我想要的任何数据库(好吧,至少不只是一个数据库)并且不会对细节感到困扰,那将是很好的.

现在我当然可以编写自己的框架来让我这样做,但是我希望这个已经由别人做过了:)

有什么建议?

最佳答案 事实上你的幻想存在!

你描述了一个叫做Active Record Pattern的东西.它通常是用Object-Relational Mapping实现的.一个常见的Python解决方案是SQLAlchemy,但Storm在某种程度上也很受欢迎:

What are some good Python ORM solutions?

如果您正在为Web开发,Django拥有自己的ORM.

点赞