Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL-алхимия:ValueError твърде много стойности за разопаковане?

Проблемът е разгледан в нишката за проблеми на github - https://github.com /flask-admin/flask-admin/issues/1588

По принцип flask-admin pip пакетът е остарял, по отношение на най-новата sqlalchemy пип пакет. В тази конкретна област,

cls, key = identity_key(instance=obj)

sqlalchemy сега връща 3 обекта, но flask-admin очаква само 2, оттук и грешката.

Истинското решението за това е да изчакате до нов flask-admin версията се качва в pip, дотогава имате няколко опции.

  1. Ръчно влезте и редактирайте този fields.py файл
  2. Както е описано подробно в тази тема, ограничете sqlalchemy към версия 1.2.0b3 . Можете да направите това във вашия файл requirements.txt или ръчно с инсталиране на pip надстройка, pip install --upgrade sqlalchemy==1.2.0b3
  3. Тъй като корекцията е в flask-admin главния клон на 's в тяхното хранилище github, инсталирайте тази версия на flask-admin с местоположението на pip на git+https://github.com/flask-admin/flask-admin . Отново правите това във вашия файл requirements.txt или с инсталиране на pip надстройка, pip install --upgrade git+https://github.com/flask-admin/flask-admin .

Моето лично предпочитание и това, което направих, е вариант 3. Ако погледнете самия код, това е ред, който поддържащите искат да премахнат, така или иначе и как се справят с него е по-добре и като цяло с тези неща, предпочитам да продължа напред (най-новата версия на flask-admin ), вместо да задържа нещата назад (връщане sqlalchemy към предишна версия) и със сигурност по-добре от ръчно редактиране на необработения код.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как бихте съхранили работното време на фирмата в db/модела на приложението Rails?

  2. Инсталирайте Apache, MySQL 8 или MariaDB 10 и PHP 7 на CentOS 7

  3. Изключение за хибернация на MySQL Cross Join Query

  4. Как да промените външния ключ на MySQL таблица с помощта на командния ред

  5. TIME_TO_SEC() Примери – MySQL