我在模板上做这项工作时遇到了一些麻烦,想知道我是否能得到一些帮助:
我有一个包含植物的表,植物表与类别表有多对多的关系。这样植物可以属于一种或多种类别。 我正在使用Django 1.5,这是模型:
class Plant(models.Model):
scientific_name = models.CharField(max_length=128, unique=True)
category = models.ManyToManyField(Category)
...
class Category(models.Model):
category = models.CharField(max_length=128)
...
观点:
class PlantListView(ListView):
context_object_name='plant_list'
template_name='plants/index.html'
model = Plant
def get_queryset(self):
return self.model.objects.all().order_by('category')
我试过这个:
{% regroup plant_list by category as category_list %}
<ul>
{% for category in category_list %}
<li>{{ category.grouper }}
<ul>
{% for plant in plant_list.list %}
<li>{{ plant.scientific_name }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
但我得到的只是:
<django.db.models.fields.related.ManyRelatedManager object at 0x1053bfb90>
<django.db.models.fields.related.ManyRelatedManager object at 0x1053bfbd0>
<django.db.models.fields.related.ManyRelatedManager object at 0x1053bfd50>
当然,我真正想要的是:
...等......
请注意,同一工厂可以存在多个类别,并应列在每个类别中。
我做错了什么?
提前致谢!!
答案 0 :(得分:0)
嗯,事实证明,以类别为索引制作所有结果的Dict更容易(也可能更好)。