Le problème est couvert sur le fil des problèmes de github - https://github.com /flask-admin/flask-admin/issues/1588
Fondamentalement, le flask-admin
Le paquet pip est obsolète, en ce qui concerne le dernier sqlalchemy
paquet de pépins. Dans ce domaine spécifique,
cls, key = identity_key(instance=obj)
sqlalchemy
renvoie maintenant 3 objets, mais flask-admin
attend seulement 2, d'où l'erreur.
Le vrai la solution pour cela est d'attendre un nouveau flask-admin
version est téléchargée sur pip, jusque-là, vous avez quelques options.
- Manuellement entrez et modifiez ce
fields.py
fichier - Comme détaillé dans ce fil de discussion, limitez
sqlalchemy
vers la version1.2.0b3
. Vous pouvez le faire dans votre fichier requirements.txt, ou manuellement avec une installation de mise à niveau pip,pip install --upgrade sqlalchemy==1.2.0b3
- Comme le correctif est dans
flask-admin
's master branch dans leur référentiel github, installez cette version deflask-admin
avec l'emplacement pip degit+https://github.com/flask-admin/flask-admin
. Encore une fois, vous le faites dans votre fichier requirements.txt, ou avec une installation de mise à niveau pip,pip install --upgrade git+https://github.com/flask-admin/flask-admin
.
Ma préférence personnelle, et ce que j'ai fait, est l'option 3. Si vous regardez à travers le code lui-même, c'est une ligne que les responsables veulent supprimer, de toute façon, et la façon dont ils la traitent est meilleure, et en général avec ces choses, je préfère aller de l'avant (dernière version de flask-admin
) plutôt que de retenir les choses (rollback sqlalchemy
à une version précédente), et certainement mieux que d'éditer manuellement le code brut.