Wie verwenden Sie count() in Flask-sqlalchemy
Ich unterstütze ein Projekt, das verwendet flask-sqlalchemy.Ich möchte eine db-Abfrage die Anzahl der Datensätze in der Tabelle.Kann ich mit Tabelle.Abfrage.filter_by(Zustand).count() direkt oder gibt es etwas, dass ich hinzufügen müssen.Helfen Sie mir bitte.Ich bin ein begineer.Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro diese Quelle, sollten die folgenden arbeiten für Sie:
Class_name ist der name der zugeordneten Klasse für die Tabelle.
Keine der gegebenen Antworten Adresse flask-sqlalchemy speziell, wo würden Sie genau das Beispiel, das Sie gegeben:
Können Sie durchführen
.count()
ohne Filter:Können Sie auch zählen, mit M2M-Beziehungen:
Und Sie können diese direkt in Ihrem jinja-templates wie:
Bonus-Punkte (für die performance-minded):
.count()
ist ein wenig langsam (vor allem mit MySQL, durch eine schlechte Handhabung von Unterabfragen), so verwenden Sie stattdessen eine benutzerdefinierte Zahl, die wie folgt aussieht:Dass die übernahme
db
ist Ihre SQLAlchemy Instanz (dhdb = SQLAlchemy(app)
). Es ist ein Bissen, aber es wird sparen Sie ein wenig Aufwand auf große Anfragen.Ja, das ist es. Aber denken Sie daran, dass 'count()' macht eine weitere Abfrage wie diese:
Dies ist nicht zu optimieren. Sie können dieses verwenden:
Die SQL-Abfrage wird wie folgt Aussehen: