我正在开发一个包含大量模型的 Flask 项目,其中一些模型使用 from sqlalchemy.dialects.postgresql import JSONB
。从管理层,我根据这个 link 创建了 manage.py . python manage.py init & python manage.py migrate
工作正常,但是当我运行 python manage.py upgrade
时,迁移文件中出现以下错误。
sa.Column('images', postgresql.JSONB(astext_type=Text()), nullable=True),
NameError: global name 'Text' is not defined
有人知道怎么解决吗?
最佳答案
您需要导入该文本
因为我搜索它来自sqlalchemy.types
,所以你需要在文件顶部导入它
from sqlalchemy.types import Text
但您甚至不需要提供 astext_type
作为参数,因为它默认为 Text()
。来自 docs sqlalchemy.dialects.postgresql.JSON
:
astext_type
the type to use for the
JSON.Comparator.astext
accessor on indexed attributes. Defaults totypes.Text
.
sqlalchemy.dialects.postgresql.JSONB
是
Bases:
sqlalchemy.dialects.postgresql.json.JSON
关于python - Flask python manage.py db 升级引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39997252/