Django:FOO_set.all()用于filter()而不是get()

Django:FOO_set.all()用于filter()而不是get(),django,model,foreign-keys,set,Django,Model,Foreign Keys,Set,我想查找用户在我的Django应用程序中留下的项目的评论 模型非常简单: 型号.py class Item(models.Model): name = models.CharField(_('Item'), max_length = 100,) ... class ItemReview(models.Model): item = models.ForeignKey(Item) review = models.CharField(max_length = 140

我想查找用户在我的Django应用程序中留下的项目的评论

模型非常简单:

型号.py

class Item(models.Model):
    name =  models.CharField(_('Item'), max_length = 100,)
    ...

class ItemReview(models.Model):
    item = models.ForeignKey(Item)
    review = models.CharField(max_length = 140)
    ...
在我的
模板
中,我列出了从查看功能传递到
模板的

items = Item.objects.filter(name = ...)
在我的模板中,我列出了如下项目:

{% for item in items %}
    <td>{{ item.name }}</td>
{% endfor %}
{items%]中的项的%
{{item.name}
{%endfor%}
如何在同一循环中显示
评论?我已经尝试过FOO_set.all,但它似乎不适用于过滤功能。

这个问题看起来很简单,但我无法解决它。

类项(models.Model):
class Item(models.Model):
    name =  models.CharField(_('Item'), max_length = 100,)
    ...

    def reviews(self):
        return ItemReview.object.filter(item=self)

class ItemReview(models.Model):
    item = models.ForeignKey(Item)
    review = models.CharField(max_length = 140)


{% for item in items %}
<td>
    {{ item.name }}

    {% for review in item.reviews %}
        {{review}}
    {% endfor %}
</td>
{% endfor %}
name=models.CharField(u('Item'),最大长度=100,) ... def审查(自我): returnitemReview.object.filter(item=self) 类ItemReview(models.Model): 项目=型号。外键(项目) review=models.CharField(最大长度=140) {items%%中的项的%s} {{item.name} {%用于在item.reviews%中进行审阅} {{review} {%endfor%} {%endfor%}
当我在Django shell中尝试for循环时,我得到一条错误消息,
AttributeError:“Item”对象没有属性“itemreview\u set”
。我做了
a=Item.objects.all()
a[0].itemreview\u set.all()
,这应该相当于您的循环,对吗?但是为什么我会收到错误信息呢?当我在模板中尝试代码时,
{{review.review}}
是空的。