Het probleem wordt behandeld in de github issues thread - https://github.com /flask-admin/flask-admin/issues/1588
Kortom, de flask-admin pip-pakket is verouderd, met betrekking tot de nieuwste sqlalchemy pip pakket. In dat specifieke gebied,
cls, key = identity_key(instance=obj)
sqlalchemy retourneert nu 3 objecten, maar flask-admin verwacht er maar 2, vandaar de fout.
De echte oplossing hiervoor is te wachten tot een nieuwe flask-admin versie is geüpload naar pip, tot die tijd heb je een paar opties.
- Handmatig ga naar binnen en bewerk die
fields.pybestand - Zoals beschreven in die problementhread, beperk
sqlalchemynaar versie1.2.0b3. U kunt dit doen in uw requirements.txt-bestand, of handmatig met een pip upgrade install,pip install --upgrade sqlalchemy==1.2.0b3 - Omdat de oplossing zich in
flask-adminbevindt 's master branch in hun github-repository, installeer die versie vanflask-adminmet de pip-locatie vangit+https://github.com/flask-admin/flask-admin. Nogmaals, je doet dit in je requirements.txt-bestand, of met een pip upgrade install,pip install --upgrade git+https://github.com/flask-admin/flask-admin.
Mijn persoonlijke voorkeur, en wat ik heb gedaan, is optie 3. Als je door de code zelf kijkt, is het een regel die de beheerders willen verwijderen, hoe dan ook, en hoe ze ermee omgaan is beter, en in het algemeen met deze dingen, ik ga liever vooruit (laatste versie van flask-admin ) in plaats van dingen tegen te houden (rollback sqlalchemy naar een eerdere versie), en zeker beter dan het handmatig bewerken van de onbewerkte code.