0

ユーザーが私のDjangoアプリに残したアイテムのレビューを検索したいと思います。

モデルは非常に単純です。

models.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リストしています。itemstemplate

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 に答える