Django 允許開發人員直接從視圖執行原始 SQL 查詢。這對於執行複雜的操作或獲取透過 Django 的 ORM 無法輕鬆存取的資料非常有用。
要在Django 執行原始SQL 查詢,您可以使用下列步驟:
以下範例示範如何使用Django 的ORM 和原始SQL 來執行給定的SQL查詢:
from app.models import Picture from django.db import connection def results(request): # Using Django ORM all = Picture.objects.all() yes = Picture.objects.filter(vote='yes').count() # Using raw SQL cursor = connection.cursor() cursor.execute('''SELECT COUNT(*) FROM pictures''') row = cursor.fetchone() num_all = row[0] cursor.execute('''SELECT COUNT(*) FROM pictures WHERE vote = "yes"''') row = cursor.fetchone() num_yes = row[0] return render_to_response( 'results.html', {'picture':picture, 'num_all':num_all, 'num_yes':num_yes}, context_instance=RequestContext(request) )
要使用 WHERE 子句過濾結果,只包含SQL 查詢中的 WHERE 子句。例如,要過濾「yes」的投票:
cursor.execute('''SELECT COUNT(*) FROM pictures WHERE vote = "yes"''')
以上是如何在 Django 視圖中執行原始 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!