Mysql
 sql >> Database >  >> RDS >> Mysql

SQL-alchemy:ValueError troppi valori da decomprimere?

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.

  1. Manualmente entra e modifica quel fields.py file
  2. Come descritto in dettaglio in quel thread sui problemi, limita sqlalchemy alla versione 1.2.0b3 . Puoi farlo nel tuo file require.txt o manualmente con un'installazione di aggiornamento pip, pip install --upgrade sqlalchemy==1.2.0b3
  3. Poiché la correzione è in flask-admin 's ramo principale nel loro repository github, installa quella versione di flask-admin con la posizione del pip di git+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.