ホームページ > データベース > mysql チュートリアル > Django ビュー内で生の SQL クエリを実行するにはどうすればよいですか?

Django ビュー内で生の SQL クエリを実行するにはどうすればよいですか?

DDD
リリース: 2024-12-15 09:37:13
オリジナル
516 人が閲覧しました

How Can I Execute Raw SQL Queries Within Django Views?

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 クエリを実行するには、次の手順に従う必要があります:

  1. 必要な Django をインポートしますモジュール:

    from django.db import connection
    ログイン後にコピー
  2. データベースと対話するためのカーソルを取得します:

    cursor = connection.cursor()
    ログイン後にコピー
  3. SQL クエリを構築します:

    sql_query = '''SELECT count(*) FROM app_picture WHERE vote = "yes"'''
    ログイン後にコピー
    ログイン後にコピー
  4. SQL を実行するクエリ:

    cursor.execute(sql_query)
    ログイン後にコピー
  5. 結果の取得:

    row = cursor.fetchone()
    ログイン後にコピー
  6. 結果の処理:

    results = row[0]
    ログイン後にコピー

必要に応じて結果をビュー ロジックで使用できます。たとえば、値を変数に割り当て、それを表示用のテンプレートに渡すことができます。

さらに、SQL クエリで WHERE 句を使用するには、クエリ文字列に関連する条件を含めることができます。

sql_query = '''SELECT count(*) FROM app_picture WHERE vote = "yes"'''
ログイン後にコピー
ログイン後にコピー

これらの手順を組み込むことで、Django ビューで生の SQL クエリを実行し、特定のデータベース情報にアクセスしてアプリケーションの機能を強化できます。

以上がDjango ビュー内で生の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート