0

検索フィールドに 6 つのテキスト ボックスがあり、ユーザーはいずれかの値を入力できます。これらの値を次の方法でキャプチャします。

if request.GET:
     result_list = []
     client_build = request.GET.get('client_build','')
     app_build = request.GET.get('app_build','')
     ws_build = request.GET.get('ws_build','')
     asset = request.GET.get('asset','')
     feature = request.GET.get('feature','')
     test_type = request.GET.get('test_type','')
result_lists = result.objects.filter(asset=asset,feature=feature,      test_type=test_type)
     job_list = job.objects.filter(client_build=client_build ,app_build =   app_build,ws_build = ws_build)

それらをフィルタリングしようとすると、「基数 10 の int() の無効なリテラル: ''」エラーが発生します。ユーザーが入力した値のみを取得し、それに応じてフィルターでクエリを実行するにはどうすればよいですか。

この投稿Django - multiple field search issuesを参照しましたが、6 つのテキスト ボックスで複数の if と else が探しているものではありません。

4

1 に答える 1

1

@vikalp.sahniは正しいです。整数を入力しましたが、入力によって回答が文字列に変換されることを知りませんでした。これを修正するには、client_buildが唯一の整数であると述べたように、次のようにする必要があります。

client_build = int(request.GET.get('client_build',''))

全体的に、あなたの質問は正しいと思います。整数の場合は、intを入力することを忘れないでください。

于 2013-03-08T07:31:35.010 に答える