Rawメソッドを使用してデータをフィルタリングしています。Select2プラグインを使用してフィールド内で複数の値を選択できるようになりました。私は戻って結果がそれらを表示するために取得するときDjangoレンダリング:Select2 Jqueryプラグインで選択項目をインスタンス化する方法
context = {
'form': MyForm(request.POST),
'results': results,
}
return render(request, self.template_name, context)
フィールドが選択したユーザーを表示するsuppossedですが、フォームがレンダリングするとき、私は最初の値のみを選択します:フィルタリングものは、その後、私はこのような状況を返します(POSTから取得した)リストの私は別のものを設定しなければなりませんか?または私は何か間違っているのですか?
UPDATE: Djangoのフォームからの入力ウィジェットをレンダリング:
またequipo = ChoiceField(
widget=Select(
attrs={'class': 'form-control input-sm', 'multiple': 'multiple'}
)
)
、私はちょうどraw
メソッドを使用してフィルタを適用する値を取得し、rawquery結果をバック与えている、保存していませんよ。
ビュー:
class MedicionView(View):
def __init__(self):
self.template_name = "medicion/grid.html"
def get(self, request):
form = MedicionFiltersForm()
odometros = Odometro.objects.all()
equipos = Equipo.objects.all()
results = Odometro.objects.raw('''
select
....
''')[:100]
contexto = {
'form': form,
'results': results,
}
return render(request, self.template_name, contexto)
def post(self, request):
# Retrieve data
form = MedicionFiltersForm(request.POST)
equipos = request.POST.getlist('equipo')
odometros = request.POST.getlist('odometro')
tipo = request.POST.get('tipo')
# business stuff
results = Odometro.objects.raw('''
select
...
''', [odometros, tipos, equipos])
# More business stuff
# return request.POST in form
contexto = {
'form': form,
'results': results,
}
return render(request, self.template_name, contexto)
M2Mでも私はちょうどraw
方法でSQL WHERE IN
句を使用するために複数の値を使用して、私のモデルには存在しません。
関連するHTMLを追加し、Select2の設定方法と設定方法を質問に追加してください。 – Soviut
あなたは単に 'multiple =" multiple "'を使用していない理由はありますか? – morinx
こちらもご覧ください。私はあなたが 'm2m save'ではないと思っています – morinx