【问题标题】:Django, topic model with subtopicsDjango,带有子主题的主题模型
【发布时间】:2011-07-25 16:54:36
【问题描述】:

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

iphone 有一个苹果的外键

但是如果我想让苹果链接到它的所有子元素,我该怎么办

苹果到 iPhone 苹果到mac

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

Mac 或 iPhone 甚至可能有更多的子元素

【问题讨论】:

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


    【解决方案1】:

    您可能想查看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.
    

    【讨论】:

    • 似乎是正确的选择,但有一件事,截至目前,当我尝试创建一个新主题时,我需要选择一个主主题,但没有,因为我还没有创建一个, 只是做 required=false 来解决这个问题?
    • 应该可以。我忘了把它添加到模型定义中。
    猜你喜欢
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 2020-06-29
    • 1970-01-01
    • 2020-11-23
    • 2015-09-25
    相关资源
    最近更新 更多