2011-07-25 2 views
2

私がテンプレートに渡しているformsetがあるとします。各フォームにはcategoryフィールドがあり、これはformsetを並べ替えるためのものです。これは私がこれまで持っているコードです:regroup formset

... 
{% regroup formset by category as category_formset %} 
<ul> 
    {% for category in category_formset %} 
    <li>{{ category.grouper }} 
     <ul> 
      {% for form in category.list %} 
      <li>{{ form.name.value }}</li> 
      {% endfor %} 
     </ul> 
    </li> 
    {% endfor %} 
</ul> 
... 

事が出力のように見えるということです。

  • カテゴリー1
    • ...
  • カテゴリー2
    • ...
  • カテゴリー2
    • ...
  • カテゴリー3
    • ...
  • カテゴリー3
    • ...
  • カテゴリー3
    • ...正しい順序で、ですが、実際に照合ない

。私はすでに "gotcha"を見たhere{% regroup|dictsort:"category" ... %}を追加しようとしましたが、それは役に立ちませんでした。何か案は?または、{% regroup %}はフォームセットではまったくサポートされていませんか?

アップデート:私は{% regroup formset by category.value ... %}を使用している場合、それは正しくカテゴリを照合するために得ることができますが、(categoryForeignKeyフィールドであるとして)それは整数のみを表示します。 docsによれば、{% regroup formset by get_category_display ... %}を文字列に分類することは可能ですが、regroupNoneを返すだけです。

答えて

4

だから、私はそれを最後まで働かせました。トリックは{% regroup formset by instance.category as category_list %}を使用していました。これは、平文カテゴリ名を表示し、エントリを正しく照合します。

+0

これについてのご質問ありがとうございます! 「ManagementFormデータが見つからないか、または改ざんされました」というエラーを得るために何か特別な処理が必要でしたか? – shawnwall

関連する問題