1

フィールドのテーブルを表示したいdjangoテンプレートがあります。データベースのフィールドのサブセットに基づいて、テーブルにさまざまな列を含める必要があります。表示されるフィールドは、GET呼び出しに基づいています(したがって、事前に決定することはできません)。

私が抱えている問題は、列に任意のラベルを付けたり並べ替えたりして、フィールドを一致させることができないことです。model.object.valuesを使用して、必要な列を選択しています。

私が試した解決策は次のとおりです。

  1. 辞書を反復処理します。これにより、フィールドがランダムな順序で返され、さらにデータベースの要素全体で安定していることが保証されていない順序で返されますが、実際にはそうであるようです。
  2. values_listを使用しますが、それでも順序を制御することはできませんが、少なくとも修正されています。
  3. フィールド名を渡し、それらを使用して辞書にアクセスしますが、パラメーターを使用してdict.getを呼び出す方法を理解できません。これは意図的に不可能だと思います。
  4. 2と3の両方を一緒に。いくつかの醜いネストされた文字列の比較とインデックス作成のハッカーなしでこれを機能させる明白な方法はありません。
  5. アイテムを繰り返し処理すると、どの要素がどのセルに入るのかを判断するためにネストされたループが必要になるようです。

どんな助けでもいただければ幸いです。

NB dictsortは、列ではなく行をソートします。

4

1 に答える 1

0

#3を使用して、ここで提案されているテンプレートフィルタを使用するか、テンプレートでこれを実行する代わりに、ビューでデータを準備することができます。具体的には、選択した順序で列見出しのリストを作成し、データベースのオブジェクトごとに正しい順序で値のタプルを作成できます。

于 2012-07-18T14:28:45.197 に答える