在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中文網其他相關文章!