Heim > Datenbank > MySQL-Tutorial > Wie kann ich Raw-SQL-Abfragen in Django-Ansichten ausführen?

Wie kann ich Raw-SQL-Abfragen in Django-Ansichten ausführen?

Susan Sarandon
Freigeben: 2024-12-22 17:26:10
Original
269 Leute haben es durchsucht

How Can I Execute Raw SQL Queries in Django Views?

Ausführen von Roh-SQL-Abfragen in Django-Ansichten

Django ermöglicht Entwicklern, Roh-SQL-Abfragen direkt aus Ansichten auszuführen. Dies kann nützlich sein, um komplexe Vorgänge auszuführen oder Daten abzurufen, auf die über Djangos ORM nicht leicht zugegriffen werden kann.

Durchführen einer Roh-SQL-Abfrage

Um eine Roh-SQL-Abfrage in Django durchzuführen, können Sie die verwenden Folgende Schritte:

  1. Importieren Sie das Verbindungsobjekt aus django.db.
  2. Erstellen Sie ein Cursorobjekt mit Cursor = Connection.cursor().
  3. Führen Sie die SQL-Abfrage mit Cursor.execute(Query) aus.
  4. Rufen Sie die Ergebnisse ab mit row =cursor.fetchone().

Beispiel

Das Folgende Das Beispiel zeigt, wie die gegebene SQL-Abfrage mit Djangos ORM und einer unformatierten SQL-Abfrage durchgeführt wird:

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)
    )
Nach dem Login kopieren

WHERE-Klausel zum Filtern

Um die Ergebnisse mithilfe der WHERE-Klausel zu filtern, fügen Sie einfach WHERE ein -Klausel in der SQL-Abfrage. Um beispielsweise die Abstimmung nach „Ja“ zu filtern:

cursor.execute('''SELECT COUNT(*) FROM pictures WHERE vote = "yes"''')
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Raw-SQL-Abfragen in Django-Ansichten ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage