Flask python manage.py db upgrade raise错误

Tit*_*son 1 python postgresql flask flask-sqlalchemy

我正在研究一个烧瓶项目,其中包含许多模型,其中一些模型正在使用from sqlalchemy.dialects.postgresql import JSONB.从管理层,我根据此链接创建了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
Run Code Online (Sandbox Code Playgroud)

有谁知道如何修理它?

vis*_*ell 6

你需要导入它 Text

因为我搜索它来自sqlalchemy.types,所以你需要在文件的顶部导入它

from sqlalchemy.types import Text
Run Code Online (Sandbox Code Playgroud)

但你甚至不需要提供astext_type参数,因为它默认为Text().从文档sqlalchemy.dialects.postgresql.JSON:

astext_type

JSON.Comparator.astext索引属性上用于访问者的类型.默认为types.Text.

而且sqlalchemy.dialects.postgresql.JSONB

基地: sqlalchemy.dialects.postgresql.json.JSON