处理多级数据结构的最佳方法

时间:2014-03-25 09:53:22

标签: database django tastypie

我正在努力解决数据库问题:

在我的项目中,我收到一个巨大的csv文件,每个产品包含1行,每个产品有5个连续的类别。

Cat_1 A > Cat_2 A > Cat_3 A > Cat_4 A > Cat_5 A > Product 0001

我必须导入这些数据,存储它,然后通过Tastypie驱动的API访问它。

问题是:与Cat_2相关联的Cat_3很可能不在同一个Cat_2中,具体取决于Cat_1。

例如

Cat_1 A > Cat_2 A > Cat_3 A

Cat_1 B > Cat_2 A > Cat_3 A  <<<< This Cat_3 should or should not be here.

因此,将每只猫与其子女联系起来就好了。

问题: 我该如何处理这样的导入/结构?这是如何在Django ORM术语中转换的(最终在Tasypie ModelResource中)?

思考:

  • 通过每个级别一个FK将每个Cat链接到每个先前级别。在穿孔方面不是很糟糕吗?
  • 创建独特的猫(get_or_create Cat_1 A,然后get_or_create Cat_2 A,Cat_1 A__id为FK,依此类推......)。这看似“糟糕”,因为一只猫A会(可能)导致多个对象的创建。
  • 不在它们之间链接Cats,而是使用带有“path”对象的单独表。产品将链接到路径对象而不是具有5个FK到Cats&lt;&lt;&lt;我现在在哪里。

提前感谢您的任何建议。

0 个答案:

没有答案