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.
Um eine Roh-SQL-Abfrage in Django durchzuführen, können Sie die verwenden Folgende Schritte:
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) )
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"''')
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!