我正在创建一个 python 程序来与许多不同类型的概念对象进行交互。例如,它可能代表一个人,在这种情况下,它会是这样的:
type = "person"
name = "Bono"
profession = "performer"
nationality = "Irish"
但是,它也可能代表一本杂志,在这种情况下,它看起来像这样
type = "publication"
name = "Rolling Stone"
editor = ("Jann Wenner" , "Will Dana")
founding_year = "1967"
除了类型和名称之外,所有其他字段都是可选的。这是一个棘手的问题——它是为爬虫编写的代码的一部分,因此所有其他字段都是动态确定/创建的。换句话说,我们不会知道我们需要一个“编辑器”字段,直到刮板将“编辑器”吐回代码
理想情况下,这将作为一个 python 列表字典相当简单地实现。但是,我们将处理大量记录——太多而无法同时保存在内存中。因此,我希望具有数据库兼容性——类似于 Django 的 MVC,这样我们就可以轻松地查询记录集。
我考虑过的一个选项是 Django 字段集,但看起来它们仍处于测试阶段,我担心我会失去一些我可以存储的通用性——理想情况下,我可以存储任何类型的数据一个键,(value_list) 对。我喜欢任何有关字段集或示例代码的可行性的意见。
我考虑过的另一个选项是 Django MVC 和 JSON 的组合。在这种情况下,我将为每个对象设置三列——类型、名称和属性。属性将是所有其他属性的 JSON 序列化(或其他适当的腌制方法),因此一旦拥有对象,就可以重构它的属性并查询集合。我会存储这样或这样的东西(链接)。使用这种方法,我将无法轻松搜索字典中的任何属性。
我非常感谢任何意见或指导。如果有人知道类似的项目,我很想知道。