Проблемът е разгледан в нишката за проблеми на github - https://github.com /flask-admin/flask-admin/issues/1588
По принцип flask-admin pip пакетът е остарял, по отношение на най-новата sqlalchemy пип пакет. В тази конкретна област,
cls, key = identity_key(instance=obj)
sqlalchemy сега връща 3 обекта, но flask-admin очаква само 2, оттук и грешката.
Истинското решението за това е да изчакате до нов flask-admin версията се качва в pip, дотогава имате няколко опции.
- Ръчно влезте и редактирайте този
fields.pyфайл - Както е описано подробно в тази тема, ограничете
sqlalchemyкъм версия1.2.0b3. Можете да направите това във вашия файл requirements.txt или ръчно с инсталиране на pip надстройка,pip install --upgrade sqlalchemy==1.2.0b3 - Тъй като корекцията е в
flask-adminглавния клон на 's в тяхното хранилище github, инсталирайте тази версия наflask-adminс местоположението на pip наgit+https://github.com/flask-admin/flask-admin. Отново правите това във вашия файл requirements.txt или с инсталиране на pip надстройка,pip install --upgrade git+https://github.com/flask-admin/flask-admin.
Моето лично предпочитание и това, което направих, е вариант 3. Ако погледнете самия код, това е ред, който поддържащите искат да премахнат, така или иначе и как се справят с него е по-добре и като цяло с тези неща, предпочитам да продължа напред (най-новата версия на flask-admin ), вместо да задържа нещата назад (връщане sqlalchemy към предишна версия) и със сигурност по-добре от ръчно редактиране на необработения код.