我正在 Django 中創建一個論壇軟件,但我很難弄清楚如何將論壇表與類別相關聯。我想將其顯示到索引頁:Category 1 --forum 1 --forum 2 --forum 2Category 2 --forum 1 --forum 2 --forum 3這些是我的模型:class Category(models.Model): name = models.CharField(max_length=255) def __str__(self): return self.nameclass Forum(models.Model): name = models.CharField(max_length=255) description = models.CharField(max_length=255) category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='forums') def __str__(self): return self.name以下是我的看法:class HomeView(ListView):context_object_name = 'name'template_name = 'index.html'def get_context_data(self, *args, **kwargs): context = super(HomeView, self).get_context_data(*args, **kwargs) context['forums'] = Forum.objects.all() context['categorys'] = Category.objects.all() return context這就是我目前在主頁上的內容,唯一的問題是,它只是循環遍歷所有類別和論壇。我希望該類別在第一個 for 循環中循環,并在第二個 for 循環中循環拉出屬于該類別的所有論壇。{% for category in categorys %} --code {% for forum in forums %} --code {% endfor %}{% endfor %}我該如何解決這個問題,使其正確顯示并且關系正確?一個類別可以有多個論壇,但一個論壇只能有一個類別。所以我相信是一對多的關系。
1 回答

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
這很簡單:
{% for category in categorys %} {{ category.name }} {% for forum in category.forums.all %} {{ forum.name }} {% endfor %} {% endfor %}
另外,您不需要傳遞forums
上下文變量(通過get_context_data
方法)。
添加回答
舉報
0/150
提交
取消