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.
- Manualmente entra y edita ese
fields.py
archivo - Como se detalla en ese hilo de problemas, limite
sqlalchemy
a la versión1.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
- Como la solución está en
flask-admin
rama principal de en su repositorio de github, instale esa versión deflask-admin
con la ubicación pip degit+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.