Django Can';不能得到相关集

Django Can';不能得到相关集,django,django-models,Django,Django Models,为什么我不能使用page.item\u set来获取页面模型的相关项? 我得到以下错误: 我的代码: class Page(models.Model): survey = models.ForeignKey(Survey) title = models.CharField(max_length=256) parent = models.ForeignKey("Page", blank=True, null=True, related_name="parent_page")

为什么我不能使用
page.item\u set
来获取页面模型的相关项? 我得到以下错误:

我的代码:

class Page(models.Model):
    survey = models.ForeignKey(Survey)
    title = models.CharField(max_length=256)
    parent = models.ForeignKey("Page", blank=True, null=True, related_name="parent_page")

    def __unicode__(self):
        return self.title

class Item(models.Model):
    page = models.ForeignKey(Page, related_name="item")
    key = models.CharField(max_length=256)
    value = models.CharField(max_length=256)
    image = models.ImageField(upload_to="builder/item", null=True, blank=True)
    options = models.ManyToManyField(Option, blank=True)
    goto = models.ForeignKey(Page, null=True, blank=True, related_name="goto_page")

    def __unicode__(self):
        return self.value

因为您将关系命名为
。请改为尝试
page.item.all()


related\u name
默认为附加了
\u set
的类名的小写版本。但是,正如您所注意到的,您可以在需要时覆盖它。

因为您将关系命名为
项。请改为尝试
page.item.all()


related\u name
默认为附加了
\u set
的类名的小写版本。但是,正如您所注意到的,您可以在需要时覆盖它。

您的项目的
相关\u名称是“Item”,而不是“Item\u set”,因此您可以调用
Page.Item
。要获取所有项目,可以通过这种方式调用
Page.item.all()
。如果省略
项.page
字段上的
相关名称
属性,则该名称将默认为
项集
项的
相关名称
是“项”,而不是“项集”,因此您将调用
页.Item
。要获取所有项目,可以通过这种方式调用
Page.item.all()
。但是,如果省略
项目页面
字段上的
相关项目名称
属性,则该名称将默认为
项目集

class Page(models.Model):
    survey = models.ForeignKey(Survey)
    title = models.CharField(max_length=256)
    parent = models.ForeignKey("Page", blank=True, null=True, related_name="parent_page")

    def __unicode__(self):
        return self.title

class Item(models.Model):
    page = models.ForeignKey(Page, related_name="item")
    key = models.CharField(max_length=256)
    value = models.CharField(max_length=256)
    image = models.ImageField(upload_to="builder/item", null=True, blank=True)
    options = models.ManyToManyField(Option, blank=True)
    goto = models.ForeignKey(Page, null=True, blank=True, related_name="goto_page")

    def __unicode__(self):
        return self.value