Django,主题模型与子主题

时间:2011-07-25 16:54:37

标签: python django django-models many-to-many one-to-many

我想创建一个主题模型。 对于上面的主题,此模型将具有非必需的外键 例如:

iphone有苹果的外键

但如果我希望将苹果链接到其所有子元素

,我该怎么办? 苹果到iPhone apple to mac

我知道有很多领域,但你究竟如何将它们应用于此 情况

此外,mac或iPhone甚至可能有更多的子元素

1 个答案:

答案 0 :(得分:2)

您可能希望查看related_name的文档。基本上Django会为你做这件事。例如:

class Topic(models.Model):
    master_topic = models.ForeignKey('self',
                     null=True,
                     blank=True,
                     related_name="sub_topics")

然后访问此代码:

apple = Topic.objects.filter(tag='Apple')
sub_topics = apple.sub_topics.all() ## Gets all sub_topics.