2016-08-04 17 views
0

Django Admin内でモデルエントリを表示するときにフィルタを指定できます。どのように私はこの動作を模倣することができますか?ないkwargsに精通しているが、これに似た何かに:**の最初のセットは、モデル内のフィールドだろうと第二セットは、エントリになりkwargsをDjango Filterに渡す

foo = Model.objects.filter(**__exact='**') 

。基本的には、ユーザーがフロントエンドで選択した内容に基づいて、クエリの変数を変更します。どのようにビューにその変数の並べ替えオプションを送信し、それをWebページに戻すか。辞書を使うのはどうですか?助けてください

このSO questionは、少し役に立ったが、それでも完全に把握することはできません。あなたは**

your_filters = { 
'field_1__exact': value_1, 
'field_2__gte': value_2, 
} 

Model.objects.filter(**your_filters) 

を使用して、フィルタパラメータとしてPythonの辞書を解凍することができます

答えて

1

を使用すると、動的にユーザーの入力に基づいて、クエリフィルタ(Pythonの辞書)を建てできる、と述べました。

+0

ご回答ありがとうございます。 2つの質問: '**'は 'your_filters'変数に適用され、Djangoはこれが変更できることを知ることができますか?もしそうならば、変数がすでに何をしているのか、それは変わるのではないでしょうか?質問#2:フロントエンドに「プレースホルダー」を置いてみましょう。どのようにしてユーザーの選択をビューに戻すことができますか?おそらくAJAXコールですか? – Kervvv

+0

@Kervvvあなたの質問について2:はい、それをajaxを使って渡し、request.POSTまたはrequest.GETデータから読み込みます。私は最初の質問を理解していません。 – levi

関連する問題