我正在尝试创建一个允许最终用户过滤交易数据的表单。我有一个“付款方式”的过滤器。
For Example: credit card, cash, check etc.
出于某种原因,我的结果没有过滤(没有显示)。我注意到表单从可用选项中更改了我的过滤器值。
For Example: the "cash" choice becomes [u'cash'].
如果我直接在我的过滤器中输入选择选项,它就可以工作。
For Example: Transactions.objects.filter(payment_method__exact="cash")
不确定这是否与它有关......我怎样才能让我的过滤器工作?
楷模:
class QueryForm(forms.Form):
payment_method = forms.MultipleChoiceField(choices=PAYMENT_TYPE)
看法:
def findtransation(request):
qf = QueryForm()
if request.method == "POST":
qf = QueryForm(request.POST)
if qf.is_valid():
p = qf.cleaned_data['payment_method']
results = Transactions.objects.filter(payment_method__exact=p)
return render_to_response('testdb/results.html', {'results': results, 'query_form': qf,}, context_instance=RequestContext(request))
return render_to_response('testdb/results.html', {'query_form': qf,}, context_instance=RequestContext(request))