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.py
plik - Jak szczegółowo opisano w tym wątku, ogranicz
sqlalchemy
do 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-admin
master branch w repozytorium github, zainstaluj tę wersjęflask-admin
z 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.