Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL-alchemy :ValueError, trop de valeurs à décompresser ?

Le problème est couvert sur le fil des problèmes de github - https://github.com /flask-admin/flask-admin/issues/1588

Fondamentalement, le flask-admin Le paquet pip est obsolète, en ce qui concerne le dernier sqlalchemy paquet de pépins. Dans ce domaine spécifique,

cls, key = identity_key(instance=obj)

sqlalchemy renvoie maintenant 3 objets, mais flask-admin attend seulement 2, d'où l'erreur.

Le vrai la solution pour cela est d'attendre un nouveau flask-admin version est téléchargée sur pip, jusque-là, vous avez quelques options.

  1. Manuellement entrez et modifiez ce fields.py fichier
  2. Comme détaillé dans ce fil de discussion, limitez sqlalchemy vers la version 1.2.0b3 . Vous pouvez le faire dans votre fichier requirements.txt, ou manuellement avec une installation de mise à niveau pip, pip install --upgrade sqlalchemy==1.2.0b3
  3. Comme le correctif est dans flask-admin 's master branch dans leur référentiel github, installez cette version de flask-admin avec l'emplacement pip de git+https://github.com/flask-admin/flask-admin . Encore une fois, vous le faites dans votre fichier requirements.txt, ou avec une installation de mise à niveau pip, pip install --upgrade git+https://github.com/flask-admin/flask-admin .

Ma préférence personnelle, et ce que j'ai fait, est l'option 3. Si vous regardez à travers le code lui-même, c'est une ligne que les responsables veulent supprimer, de toute façon, et la façon dont ils la traitent est meilleure, et en général avec ces choses, je préfère aller de l'avant (dernière version de flask-admin ) plutôt que de retenir les choses (rollback sqlalchemy à une version précédente), et certainement mieux que d'éditer manuellement le code brut.