2017-06-13 9 views
0

から単一のフィールドを回復するために、ジャンゴ:は私が私のデシベルに、このレジスタを持っているかsqlite3の

id nome email   senha 
2 teste [email protected] 1234 

私はテーブルから「senha」を回復しようとしている、と私はrawqueryesを使用しようとしています

usuario = request.GET.get('enderecoEmail') -- [email protected] 
senha2 = Usuario.objects.raw('select senha from projeto_usuario where email = %s',[usuario]) 

私はHTMLに引数を送るよテストはちょうど私が結果として取得していますが何

return render(request, 'projeto/teste.html',{'senha':senha2,'usuario':usuario}) 

を印刷するだけのために私S

<RawQuerySet: select senha from projeto_usuario where email = [email protected]> 

私はsqlite3のからそのフィールドを取得できる方法を知って、私は全体のドキュメントを読んでいるしたい、しかし、私は本当に私が上記の置き換え

+1

raw SQLを使用するのではなく、このようにしてください。 'senha = Usuario.objects.get(email = usario).senha' – Brobin

+0

しかし、SQL文を使う方法はありませんでしたか?私はこれよりずっと複雑な多くのSQL文を実行する必要があります –

+0

はい、SQL文を使用できますが、一般にORMを使用する方が安全です。 raw SQLを使用してユーザー入力を使用すると、SQLインジェクションの脆弱性が増す可能性があります。ここでは、[ORMを使ってクエリを作成する]([email protected])にあるdjangoのドキュメント – Brobin

答えて

1
senha2 = Usuario.objects.raw('select senha from projeto_usuario where email = %s',[usuario]) 

を欠けているのか分かりません以下のコードで

senha2= Usuario.objects.get(email=usuario) 
senha2 = senha2.senha 
+0

が動作しましたが、SQL文を使用する方法はありません?私はこれよりずっと複雑なSQL文をたくさん実行する必要があります –

+0

はい、あなたはdjangoでSQL文を使用できますが、djangoはほとんどの操作を簡単に実行できる良いormを持っています。 –

関連する問題