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.py
Datei - 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-admin
ist 's master branch in ihrem Github-Repository, installieren Sie diese Version vonflask-admin
mit 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.