0

我想查找用户在我的 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)
    ...

在我template的列表中,我列出了从视图函数items传递给的内容:template

items = Item.objects.filter(name = ...)

在我的模板中,我列出了以下项目:

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

如何reviews在同一个循环中显示?我试过 FOO_set.all,但它似乎不适用于过滤器功能。

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

4

1 回答 1

2
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 %}
于 2013-03-26T14:05:49.097 回答