Django模型:同一模型类的对象之间的一对一关系[重复]

Posted

技术标签:

【中文标题】Django模型:同一模型类的对象之间的一对一关系[重复]【英文标题】:Django models: One to one relationship between objects of the same model class [duplicate] 【发布时间】:2012-09-25 11:13:03 【问题描述】:

可能重复:Can I have a Django model that has a foreign key reference to itself?

我想在我的 Django 应用程序中实现一个简单的文件夹文件结构。所以我有一个存储文件夹的模型,但我也想存储这个文件夹和父文件夹之间的关系。模型的简化版本如下所示:

class mFolder(models.Model):
    name = models.CharField(max_length=50)
    parentFolder = models.ForeignKey(mFolder, unique=False, related_name="childrenFolders")

但是这是不可能的,因为 mFolder 尚未声明。

这个问题有什么简单的解决方案吗?

提前感谢您的帮助。

【问题讨论】:

不是一对一,而是一对多。 【参考方案1】:

应该是“自我”:

parentFolder = models.ForeignKey('self', unique=False, related_name="childrenFolders")

【讨论】:

效果很好,很抱歉这个蹩脚的问题。干杯!

以上是关于Django模型:同一模型类的对象之间的一对一关系[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Django:无法创建与一个普通模型具有一对一关系的多个模型对象

Django进阶Model篇002 - 模型类的定义

Django - 以一对多关系更改相关对象的值

django model

Django——model基础

Django之模型层-多表操作