Проблемът е разгледан в нишката за проблеми на 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
към предишна версия) и със сигурност по-добре от ръчно редактиране на необработения код.