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.
- Manuell Gehen Sie hinein und bearbeiten Sie diese
fields.pyDatei - Limitiere
sqlalchemy, wie in diesem Problem-Thread beschrieben auf Version1.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 - Da der Fix in
flask-administ 's master branch in ihrem Github-Repository, installieren Sie diese Version vonflask-adminmit dem Pip-Speicherort vongit+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.