クエリセットの結果をユーザーに表示するページがあります。私がやりたいことは、ユーザーがフィルターを適用するためにリンクをクリックできるようにすることです。
現在私がしていることは、フィルターを適用するためにリンクに「get」パラメーターをページに渡すことです。フィルターは、他のモデルまたはカスタム フィルター (割り当てられていないフィルターなど) への参照にすることができます。
適切なユーザー エクスペリエンスを提供するために、実装でいくつかのことを行う必要があります。
- ビューで:
- 渡されたフィルターパラメーターが有効であることを確認してください
- クエリセットに正しい条件を適用するために、(他のモデルまたはカスタム フィルターに基づいて) フィルターの種類を確認します。
- (オプション) フィルターを累積する方法 (つまり、フィルターを追加し続けることができます)
- テンプレートで:
- 選択したフィルターに基づいて正しい結果セットを表示する
- フィルターを表示するときに、適用したフィルターを認識して、現在適用されているフィルターがハイパーリンクではなくテキストとして表示されるようにします。
これは、ビューとテンプレートの if/else ステートメントの明白な強打以外に、誰かがデザイン パターンやベスト プラクティスのようなものを見つけなければならないほど一般的であるに違いないと考えています。
ある?