Il problema è trattato nel thread dei problemi di github - https://github.com /flask-admin/flask-admin/issues/1588
Fondamentalmente, il flask-admin il pacchetto pip non è aggiornato, per quanto riguarda l'ultima sqlalchemy pacchetto pip. In quella specifica area,
cls, key = identity_key(instance=obj)
sqlalchemy ora restituisce 3 oggetti, ma flask-admin si aspetta solo 2, da qui l'errore.
Il reale la soluzione per questo è aspettare fino a un nuovo flask-admin la versione viene caricata su pip, fino ad allora hai alcune opzioni.
- Manualmente entra e modifica quel
fields.pyfile - Come descritto in dettaglio in quel thread sui problemi, limita
sqlalchemyalla versione1.2.0b3. Puoi farlo nel tuo file require.txt o manualmente con un'installazione di aggiornamento pip,pip install --upgrade sqlalchemy==1.2.0b3 - Poiché la correzione è in
flask-admin's ramo principale nel loro repository github, installa quella versione diflask-admincon la posizione del pip digit+https://github.com/flask-admin/flask-admin. Ancora una volta, lo fai nel tuo file require.txt o con un'installazione di aggiornamento pip,pip install --upgrade git+https://github.com/flask-admin/flask-admin.
La mia preferenza personale, e quello che ho fatto, è l'opzione 3. Se guardi attraverso il codice stesso, è una riga che i manutentori vogliono rimuovere, comunque, e come la stanno affrontando è meglio, e in generale con questi cose, preferisco andare avanti (ultima versione di flask-admin ) piuttosto che trattenere le cose (rollback sqlalchemy a una versione precedente), e sicuramente meglio che modificare manualmente il codice grezzo.