Python ValueError:要解压缩的值太多

Python ValueError:要解压缩的值太多,python,flask,Python,Flask,我正在学习烧瓶教程。在学习数据库迁移时,我从教程中复制了这段代码-> #!flask/bin/python from migrate.versioning import api from app import db from config import SQLALCHEMY_DATABASE_URI from config import SQLALCHEMY_MIGRATE_REPO v = api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY

我正在学习烧瓶教程。在学习数据库迁移时,我从教程中复制了这段代码->

#!flask/bin/python
from migrate.versioning import api
from app import db
from config import SQLALCHEMY_DATABASE_URI  
from config import SQLALCHEMY_MIGRATE_REPO
v = api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
migration = SQLALCHEMY_MIGRATE_REPO + ('/versions/%03d_migration.py' % (v+1))
tmp_module = imp.new_module('old_model')
old_model = api.create_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
exec(old_model, tmp_module.__dict__)
script = api.make_update_script_for_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, tmp_module.meta, db.metadata)
open(migration, "wt").write(script)
api.upgrade(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
v = api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
print('New migration saved as ' + migration)
print('Current database version: ' + str(v))
当我运行此代码时,它会显示以下错误->

Traceback (most recent call last):
  File "./db_migrate.py", line 12, in <module>
    script =api.make_update_script_for_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, tmp_module.meta, db.metadata)
  File "<string>", line 2, in make_update_script_for_model
  File "/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", line 90, in catch_known_errors
    return f(*a, **kw)
  File "<string>", line 2, in make_update_script_for_model
  File "/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", line 160, in with_engine
    return f(*a, **kw)
  File "/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/api.py", line 321, in make_update_script_for_model
    engine, oldmodel, model, repository, **opts)
  File "/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/script/py.py", line 70, in make_update_script_for_model
    genmodel.ModelGenerator(diff,engine).genB2AMigration()
  File "/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/genmodel.py", line 219, in genB2AMigration
    for modelCol, databaseCol, modelDecl, databaseDecl in td.columns_different:
ValueError: too many values to unpack
回溯(最近一次呼叫最后一次):
文件“/db_migrate.py”,第12行,在
script=api.make_update_script_for_model(SQLALCHEMY_DATABASE_URI,SQLALCHEMY_MIGRATE_REPO,tmp_module.meta,db.metadata)
文件“”,第2行,用于模型的生成\更新\脚本\中
文件“/home/paladin/microblog/flask/local/lib/python2.7/site packages/migrate/versioning/util/__init__.py”,第90行,在catch_known_errors中
返回f(*a,**kw)
文件“”,第2行,用于模型的生成\更新\脚本\中
文件“/home/paladin/microblog/flask/local/lib/python2.7/site packages/migrate/versioning/util/__init__.py”,第160行,带_引擎
返回f(*a,**kw)
文件“/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/api.py”,第321行,在模型的make\u-update\u-script\u中
引擎、旧模型、模型、存储库,**选项)
文件“/home/paladin/microblog/flask/local/lib/python2.7/site-packages/migrate/versioning/script/py.py”,第70行,用于模型的make\u-update\u-script\u
genmodel.ModelGenerator(diff,engine).genB2AMigration()
genB2AMigration中的文件“/home/paladin/microblog/flask/local/lib/python2.7/site packages/migrate/versioning/genmodel.py”,第219行
对于td.columns中的modelCol、databaseCol、modelDecl、databaseDecl\u不同:
ValueError:要解压缩的值太多

谁能告诉我这些错误是什么意思以及如何解决它们吗?

我通过安装以下设备在我的环境中解决了这个问题:

SQLAlchemy 0.7.9 sqlalchemy迁移0.7.2


(最新版本不起作用,但这些旧版本起作用了)

该错误意味着
td.columns\u different
返回的序列包含四个以上的值,因此无法解压缩为指定的四个名称。@JonSharpe如何解决此错误?您使用的是哪一版本的Python?@GLES我使用的是Python 2.7.6