【发布时间】:2016-07-29 11:25:16
【问题描述】:
我是 Python 和 Flask 生态系统的初学者,正在尝试为研究项目创建一个小型的概念验证 Web 应用程序。我正在使用 Debian Linux 7.9、PostgreSQL 9.5、SQLAlchemy(最新)和 Flask-AppBuilder(最新)。由于手动创建模型乏味且容易出错,我搜索了强大的 Internet 并发现了 flask-sqlacodegen 项目(请注意,这是 sqlacodegen 的一个分支,为 Flask 用户提供了改进的功能)。我从 GitHub 安装了flask-sqlqcodegen(克隆了 repo,然后运行了python setup.py install)。但是,当尝试使用它生成模型时,会产生错误,如下所示:
> sqlacodegen postgresql+psycopg2://USER:PASS@HOST/DBNAME --flask
Traceback (most recent call last):
File "/usr/local/bin/sqlacodegen", line 9, in <module>
load_entry_point('sqlacodegen==1.1.5.pre2', 'console_scripts', 'sqlacodegen')()
File "/usr/local/lib/python2.7/dist-packages/sqlacodegen-1.1.5.pre2-py2.7.egg/sqlacodegen/main.py", line 57, in main
args.flask, fkcols)
File "/usr/local/lib/python2.7/dist-packages/sqlacodegen-1.1.5.pre2-py2.7.egg/sqlacodegen/codegen.py", line 597, in __init__
model = ModelClass(table, links[table.name], inflect_engine, not nojoined)
File "/usr/local/lib/python2.7/dist-packages/sqlacodegen-1.1.5.pre2-py2.7.egg/sqlacodegen/codegen.py", line 319, in __init__
relationship_ = ManyToOneRelationship(self.name, target_cls, constraint, inflect_engine)
File "/usr/local/lib/python2.7/dist-packages/sqlacodegen-1.1.5.pre2-py2.7.egg/sqlacodegen/codegen.py", line 455, in __init__
colname = constraint.columns[0]
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/_collections.py", line 194, in __getitem__
return self._data[key]
KeyError: 0
发生了什么事?任何帮助将不胜感激。
【问题讨论】:
标签: python postgresql flask flask-sqlalchemy