Dalam senario tertentu, melaksanakan pertanyaan SQL mentah dalam paparan Django menjadi perlu. Siaran ini membincangkan cara untuk melaksanakan pertanyaan sedemikian dengan berkesan.
Untuk melaksanakan pertanyaan SQL mentah dalam paparan Django, gunakan modul sambungan dan kaedah kursor() untuk mewujudkan sambungan dan kursor. Dengan kursor, pertanyaan boleh dilaksanakan menggunakan kaedah execute().
from django.db import connection cursor = connection.cursor() cursor.execute('SELECT count(*) FROM people_person')
Untuk menggunakan penapis pada pertanyaan anda, tambah klausa WHERE yang menentukan penapis syarat.
cursor.execute('''SELECT count(*) FROM people_person WHERE vote = "yes"''')
Pertanyaan keputusan boleh diambil menggunakan kaedah fetchone() pada kursor. Ini mengembalikan tuple yang mengandungi nilai hasil. Sebagai contoh, dalam contoh di atas, hasilnya ialah kiraan semua objek Orang dengan undian ditetapkan kepada "ya".
row = cursor.fetchone() print(row) # Output: (12,)
Untuk menyepadukan pertanyaan SQL mentah ke dalam paparan Django, kod dalam soalan boleh diubah suai seperti berikut:
from django.db import connection from app.models import Picture def results(request): cursor = connection.cursor() cursor.execute('''SELECT count(*) FROM app_picture''') all_count = cursor.fetchone()[0] cursor.execute('''SELECT count(*) FROM app_picture WHERE vote = "yes"''') yes_count = cursor.fetchone()[0] return render_to_response( 'results.html', {'all': all_count, 'yes': yes_count}, context_instance=RequestContext(request) )
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah dengan Cekap dalam Django Views?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!