Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah dengan Cekap dalam Django Views?

Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah dengan Cekap dalam Django Views?

Linda Hamilton
Lepaskan: 2024-12-18 22:53:12
asal
566 orang telah melayarinya

How to Efficiently Execute Raw SQL Queries in Django Views?

Memperhalusi Pertanyaan SQL dalam Django Views

Dalam senario tertentu, melaksanakan pertanyaan SQL mentah dalam paparan Django menjadi perlu. Siaran ini membincangkan cara untuk melaksanakan pertanyaan sedemikian dengan berkesan.

Melaksanakan Pertanyaan SQL Mentah

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')
Salin selepas log masuk

Menapis dengan Klausa WHERE

Untuk menggunakan penapis pada pertanyaan anda, tambah klausa WHERE yang menentukan penapis syarat.

cursor.execute('''SELECT count(*) FROM people_person WHERE vote = "yes"''')
Salin selepas log masuk

Mengakses Hasil Pertanyaan

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,)
Salin selepas log masuk

Melaksanakan dalam Django Views

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)
    )
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan