Django membenarkan pembangun melakukan pertanyaan SQL mentah terus daripada paparan. Ini boleh berguna untuk melaksanakan operasi kompleks atau mengambil data yang tidak mudah diakses melalui ORM Django.
Untuk melaksanakan pertanyaan SQL mentah dalam Django, anda boleh menggunakan langkah berikut:
Contoh berikut menunjukkan cara melaksanakan pertanyaan SQL yang diberikan menggunakan ORM Django dan pertanyaan SQL mentah:
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) )
Untuk menapis hasil menggunakan klausa WHERE, hanya masukkan klausa WHERE dalam pertanyaan SQL. Contohnya, untuk menapis undian untuk "ya":
cursor.execute('''SELECT COUNT(*) FROM pictures WHERE vote = "yes"''')
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL Mentah dalam Django Views?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!