Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Alchemie:ValueError zu viele Werte zum Entpacken?

Das Problem wird im Github Issues Thread behandelt – https://github.com /flask-admin/flask-admin/issues/1588

Im Grunde der flask-admin pip-Paket ist veraltet, in Bezug auf die neueste sqlalchemy Pip-Paket. In diesem speziellen Bereich

cls, key = identity_key(instance=obj)

sqlalchemy gibt jetzt 3 Objekte zurück, aber flask-admin erwartet nur 2, daher der Fehler.

Das Echte Die Lösung hierfür ist, auf einen neuen flask-admin zu warten Version auf Pip hochgeladen wird, haben Sie bis dahin einige Optionen.

  1. Manuell Gehen Sie hinein und bearbeiten Sie diese fields.py Datei
  2. Limitiere sqlalchemy, wie in diesem Problem-Thread beschrieben auf Version 1.2.0b3 . Sie können dies in Ihrer „requirements.txt“-Datei oder manuell mit einer Pip-Upgrade-Installation tun, pip install --upgrade sqlalchemy==1.2.0b3
  3. Da der Fix in flask-admin ist 's master branch in ihrem Github-Repository, installieren Sie diese Version von flask-admin mit dem Pip-Speicherort von git+https://github.com/flask-admin/flask-admin . Auch dies tun Sie in Ihrer requirements.txt-Datei oder mit einer Pip-Upgrade-Installation, pip install --upgrade git+https://github.com/flask-admin/flask-admin .

Meine persönliche Präferenz und was ich getan habe, ist Option 3. Wenn Sie den Code selbst durchsehen, ist es eine Zeile, die die Betreuer sowieso entfernen möchten, und wie sie damit umgehen, und im Allgemeinen mit diesen, ist besser Sachen gehe ich lieber nach vorne (neueste Version von flask-admin ), anstatt Dinge zurückzuhalten (rollback sqlalchemy zu einer früheren Version), und sicherlich besser als den Rohcode manuell zu bearbeiten.