So aktualisieren Sie Daten aus einer Spalte für alle Zeilen in SqlAlchemy?
Für den einzelnen Datensatz zu aktualisieren, habe ich versucht den folgenden code und es funktioniert.
uid=1
info = Info.query.filter_by(id=uid).first()
info.sold_status ='1'
db.session.add(info)
db.session.commit()
Nun möchte ich zum aktualisieren einer Spalte für mehrere Zeilen.
Ich habe versucht:
for row in db.session.query(Uninstall.status).all():
print row.status
abc=row.status
abc=uid
db.session.add(row.status)
db.session.commit()
aber es funktioniert nicht.
Vielen Dank im Voraus 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abfrage der Tabelle erhalten die Zeilen und aktualisieren Sie die Spalten, die während der Iteration über Sie und Begehen, wenn Ihre getan.
row
zu der Sitzung. Es war geladen durch die Sitzung.Den vorgeschlagenen ist nicht optimiert. Sie können die Optionen zu aktualisieren:
1.
Wenn es gibt eine Menge von Zeilen, kann es schneller sein, aber es ruft
UPDATE
für jede Zeile. Nicht gut ist es?2.
Ruft nur eine
UPDATE
query für alle Zeilen.UPDATE uninstalls SET status = NEW_STATUS
. Könnten Sie mir zeigen DDL der Tabelle oder/und Klasse? Oder SQLA wirft einige Ausnahme?uid
variable. Sieht aus wie der Wert istNone
- nur eine Möglichkeit der Speicherung vonNULL
DB nach dem commit.