2

テンプレートでこれを機能させるのに問題があります。助けが得られるかどうか疑問に思います。

植物を含むテーブルがあり、植物テーブルはカテゴリ テーブルと多対多の関係にあります。植物が 1 つまたは複数のカテゴリに属する​​ことができるように。私は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>

もちろん、私が本当に欲しいのは:

  • 年次
    • アゲラタム・ヒューストニアヌム
    • アブチロン ハイブリダム
    • オオバアサガラ
  • 球根多年生
    • アゲラタム・ヒューストニアヌム
    • アリウム・ギガンテウム
    • アリウムカラタヴィエンセ

...など...

同じ植物が複数のカテゴリに存在する可能性があり、それぞれにリストする必要があることに注意してください。

私は何を間違っていますか?

前もって感謝します!!

4

1 に答える 1

1

さて、カテゴリをインデックスとして、すべての結果の Dict を作成する方が簡単であることが判明しました (そしておそらくより良い)。

于 2013-05-07T17:32:17.470 に答える