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 句。たとえば、「はい」の投票をフィルターするには:
cursor.execute('''SELECT COUNT(*) FROM pictures WHERE vote = "yes"''')
以上がDjango ビューで生の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。