0
我正在構建一個用於顯示事件的應用程序。在Django模板上列出子類別的最佳方法(ManyRelatedManager not Iterable)
事件模型是這樣的:
class Event(models.Model):
name = models.CharField(max_length=255)
venue = models.ForeignKey('venues.Venue')
categories = models.ManyToManyField('categories.Category')
description = models.TextField()
def __str__(self):
return self.name
注:該事件可以有多個類別。
類別模型是這樣的:
class Category(models.Model):
name = models.CharField(max_length=255)
parent_category = models.ForeignKey('self', null=True, blank=True)
def __str__(self):
return self.name
注:主要類別將被定義爲沒有「parent_category」
這讓我有等級的種類這樣的分類:
Music
Vallenato
Rock Latino
Cumbia
現在在Django模板我想提出一個清單關閉所有的事件對於給定主要類別(如listview)。
使用相同的例子,該頁面將包括:與所有的音樂活動的概述
-A列表中,這樣的人可以得到事件的簡短,然後點擊一個拿到的細節給定事件。
當我發送事件查詢集到模板是這樣的:
events = Event.objects.all().order_by('name')
我試圖遍歷所有的事件類別,有這樣的事情:
{% for event in events %}
{% for category in event.categories %}
我得到ManyRelatedManager不可迭代錯誤。
列出模板上給定事件的所有子類別的最佳方法是什麼?
如何在模板或視圖級別處理此問題? (以最好的爲準)
謝謝,我編輯了模型,以便它說類別而不是類別,我會嘗試使用.all並回復給您。 – edu222 2015-02-11 22:42:28
就是這樣!我錯過的全部都是 – edu222 2015-02-11 22:51:49