sql >> Base de Datos >  >> RDS >> Mysql

SQL-alchemy:ValueError ¿demasiados valores para desempaquetar?

El problema está cubierto en el hilo de problemas de github - https://github.com /flask-admin/flask-admin/issues/1588

Básicamente, el flask-admin El paquete pip está desactualizado, con respecto a la última sqlalchemy paquete de pipas En esa área específica,

cls, key = identity_key(instance=obj)

sqlalchemy ahora devuelve 3 objetos, pero flask-admin solo espera 2, de ahí el error.

El real la solución para esto es esperar hasta un nuevo flask-admin la versión se carga en pip, hasta entonces, tiene algunas opciones.

  1. Manualmente entra y edita ese fields.py archivo
  2. Como se detalla en ese hilo de problemas, limite sqlalchemy a la versión 1.2.0b3 . Puede hacer esto en su archivo requirements.txt, o manualmente con una instalación de actualización de pip, pip install --upgrade sqlalchemy==1.2.0b3
  3. Como la solución está en flask-admin rama principal de en su repositorio de github, instale esa versión de flask-admin con la ubicación pip de git+https://github.com/flask-admin/flask-admin . Nuevamente, haga esto en su archivo requirements.txt, o con una instalación de actualización de pip, pip install --upgrade git+https://github.com/flask-admin/flask-admin .

Mi preferencia personal, y lo que he hecho, es la opción 3. Si revisa el código en sí, es una línea que los mantenedores quieren eliminar, de todos modos, y la forma en que la están tratando es mejor, y en general con estos cosas, prefiero seguir adelante (última versión de flask-admin ) en lugar de retener las cosas (rollback sqlalchemy a una versión anterior), y ciertamente mejor que editar manualmente el código sin procesar.