我正在开发一个框架。我提供了一个基类,其他开发人员将对其进行子类化以向系统添加行为。这些类的实例将具有我的框架不一定期望的属性,除非通过检查这些实例' __dict__
。为了让事情变得更有趣,其中一些类可以随时动态创建。
我希望框架处理一些事情,即我需要保留这些实例,向用户显示它们的属性值,并让她使用这些值搜索/过滤实例。
我必须使用关系数据库。我知道那里有一些不错的 python OO 数据库,但不幸的是,在这种情况下它们不是一个选项。
我也不是在寻找一个成熟的 ORM ......而且它甚至可能不是一个选项,因为某些类可以动态创建。
所以,我的问题是,我需要序列化 python 实例的什么状态以确保以后可以反序列化它?看看就够了__dict__
,还是我应该使用其他私有属性?
腌制实例是不够的,因为我需要解开它们以搜索/过滤属性值,而且我担心在内存中执行它的数据太多(而不是让数据库执行它)。