【发布时间】:2012-01-27 12:26:44
【问题描述】:
我正在尝试使用 Django 创建递归关系,它为用户提供了一个类似文件夹的层次结构来放置资源。
实现这一目标的最佳方法是什么?
我知道我可以使用 treebeard 或 mptt 来创建一个嵌套集,但我已经读过对树结构进行更改(在这种情况下会发生很多事情)可能是一项非常密集的操作,因为很多字段必须更新。
另一方面,我可以将带有 ForeignKey 的文件夹模型设置为 self,但是如何管理没有外键值的顶级文件夹?如果我将此值设置为 NULL,Django 会抱怨吗?
任何建议表示赞赏。
谢谢。
【问题讨论】:
-
外键可以定义为
fk = models.ForeignKey('MyModel', null=True, blank=True),这样它就可以在数据库中为空。这是你的意思吗? -
是的,我不确定这是否会导致 Django 出现问题。谢谢。
标签: database django recursive-datastructures