私はユーザーにデータを表示していると言いますが、GET
フォームを使用してデータベースの数値フィールドで何らかのフィルタリングを実行できるようにします私はこのGETリクエストパラメータを数値に変換する
code = request.GET.get('code')
condition = {}
if(code is not None and int(code) > 0):
condition['code'] = int(code)
Somemodel.objects.filter(**condition)
のようなものを持っていますが、これは私のコードは、私はこのエラーが出るそうでない場合は番号が含まれている場合にのみ機能します
invalid literal for int() with base 10: ''
ので、この問題を処理するためのニシキヘビの方法は何ですか? try/except
ブロックを使用する必要がありますか?他のフィルタを追加する可能性があることを考慮して、if
ステートメントを処理することをお勧めします。
http://stackoverflow.com/q/1265665/1005215 –
ここで 'request.GET'を処理するためにDjangoの組み込みフォーム/検証を使用していない理由はありますか? –