Problem jest omówiony w wątku problemów z githubem - https://github.com /flask-admin/flask-admin/issues/1588
Zasadniczo flask-admin pakiet pip jest nieaktualny w odniesieniu do najnowszej sqlalchemy pakiet pip. W tym konkretnym obszarze
cls, key = identity_key(instance=obj)
sqlalchemy zwraca teraz 3 obiekty, ale flask-admin oczekuje tylko 2, stąd błąd.
prawdziwe rozwiązaniem tego problemu jest czekanie, aż nowy flask-admin wersja jest przesyłana do pip, do tego czasu masz kilka opcji.
- Ręcznie wejdź i edytuj ten
fields.pyplik - Jak szczegółowo opisano w tym wątku, ogranicz
sqlalchemydo wersji1.2.0b3. Możesz to zrobić w pliku Requirements.txt lub ręcznie za pomocą instalacji aktualizacji pip,pip install --upgrade sqlalchemy==1.2.0b3 - Ponieważ poprawka jest w
flask-adminmaster branch w repozytorium github, zainstaluj tę wersjęflask-adminz lokalizacją pipsagit+https://github.com/flask-admin/flask-admin. Znowu robisz to w swoim pliku Requirements.txt lub za pomocą instalacji aktualizacji pip,pip install --upgrade git+https://github.com/flask-admin/flask-admin.
Moje osobiste preferencje i to, co zrobiłem, to opcja 3. Jeśli przejrzysz sam kod, jest to wiersz, który opiekunowie i tak chcą usunąć, a sposób, w jaki sobie z tym radzą, jest lepszy i ogólnie z tymi rzeczy, wolę iść dalej (najnowsza wersja flask-admin ) zamiast wstrzymywania rzeczy (cofnij sqlalchemy do poprzedniej wersji) i na pewno lepiej niż ręczna edycja surowego kodu.