Problemet er dækket i github-problemtråden - https://github.com /flask-admin/flask-admin/issues/1588
Grundlæggende er flask-admin
pip-pakken er forældet med hensyn til den seneste sqlalchemy
pip pakke. I det specifikke område,
cls, key = identity_key(instance=obj)
sqlalchemy
returnerer nu 3 objekter, men flask-admin
forventer kun 2, deraf fejlen.
Det rigtige løsningen til dette er at vente til en ny flask-admin
version er uploadet til pip, indtil da har du et par muligheder.
- Manuelt gå ind og rediger det
fields.py
fil - Som beskrevet i emnetråden, skal du begrænse
sqlalchemy
til version1.2.0b3
. Du kan gøre dette i din requirements.txt-fil eller manuelt med en pip-opgraderingsinstallation,pip install --upgrade sqlalchemy==1.2.0b3
- Da rettelsen er i
flask-admin
's hovedgren i deres github-lager, skal du installere den version afflask-admin
med pip-placeringengit+https://github.com/flask-admin/flask-admin
. Igen gør du dette i din requirements.txt-fil, eller med en pip-opgraderingsinstallation,pip install --upgrade git+https://github.com/flask-admin/flask-admin
.
Min personlige præference, og hvad jeg har gjort, er mulighed 3. Hvis du ser selve koden igennem, er det alligevel en linje, som vedligeholderne ønsker at fjerne, og hvordan de håndterer det er bedre, og generelt med disse ting, foretrækker jeg at gå fremad (seneste version af flask-admin
) i stedet for at holde tingene tilbage (tilbageføring sqlalchemy
til en tidligere version), og bestemt bedre end manuelt at redigere råkoden.