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.py
file - Come descritto in dettaglio in quel thread sui problemi, limita
sqlalchemy
alla 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-admin
con 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.