Django ビューで生の SQL クエリを実行する
Django では、ビュー内で生の SQL クエリを利用して、経由ではすぐに入手できないデータベース情報にアクセスできます。 ORM。これを説明するために、サンプルの views.py コードを考えてみましょう:
from app.models import Picture def results(request): all = Picture.objects.all() yes = Picture.objects.filter(vote='yes').count() return render_to_response( 'results.html', {'picture': picture, 'all': all, 'yes': yes}, context_instance=RequestContext(request) )
このビュー関数で生の SQL クエリを実行するには、次の手順に従う必要があります:
必要な Django をインポートしますモジュール:
from django.db import connection
データベースと対話するためのカーソルを取得します:
cursor = connection.cursor()
SQL クエリを構築します:
sql_query = '''SELECT count(*) FROM app_picture WHERE vote = "yes"'''
SQL を実行するクエリ:
cursor.execute(sql_query)
結果の取得:
row = cursor.fetchone()
結果の処理:
results = row[0]
必要に応じて結果をビュー ロジックで使用できます。たとえば、値を変数に割り当て、それを表示用のテンプレートに渡すことができます。
さらに、SQL クエリで WHERE 句を使用するには、クエリ文字列に関連する条件を含めることができます。
sql_query = '''SELECT count(*) FROM app_picture WHERE vote = "yes"'''
これらの手順を組み込むことで、Django ビューで生の SQL クエリを実行し、特定のデータベース情報にアクセスしてアプリケーションの機能を強化できます。
以上がDjango ビュー内で生の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。