0

我正在创建一个 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 序列化(或其他适当的腌制方法),因此一旦拥有对象,就可以重构它的属性并查询集合。我会存储这样这样的东西(链接)。使用这种方法,我将无法轻松搜索字典中的任何属性。

我非常感谢任何意见或指导。如果有人知道类似的项目,我很想知道。

4

1 回答 1

1

这似乎是使用 NoSQL 数据库的绝佳机会。像 MongoDB 这样的东西不依赖于固定模式,因此它可能适合您的场景。

于 2013-02-18T02:26:00.863 回答