2016-10-12 2 views
0

私は多くのモデルを含むフラスコプロジェクトに取り組んでおり、そのうちのいくつかはfrom sqlalchemy.dialects.postgresql import JSONBを使用しています。管理者から、私はこのlinkに従ってmanage.pyを作成しました。 python manage.py init & python manage.py migrate は正常に動作していますが、python manage.py upgradeを実行すると、移行されたファイルで次のエラーが発生します。フラスコのpython manage.pyデータベースのアップグレードエラーが発生しました

sa.Column('images', postgresql.JSONB(astext_type=Text()), nullable=True), 
    NameError: global name 'Text' is not defined 

誰でも修正方法を知っていますか?

+1

に固定されています。 – kxxoling

答えて

4

私はそれがsqlalchemy.typesから来て検索するので、あなたは、ファイルのインポートの上部に必要なことを

from sqlalchemy.types import Text 

しかし、あなたがたとしてもastext_typeを供給する必要はないのであなたがText

ことをインポートする必要がありますこれはデフォルトでText()です。 sqlalchemy.dialects.postgresql.JSONdocsから:

astext_type

インデックス付き属性のJSON.Comparator.astextアクセサに使用するタイプ。デフォルトはtypes.Textです。

そしてsqlalchemy.dialects.postgresql.JSONB

拠点である:sqlalchemy.dialects.postgresql.json.JSON

0

あなたがAlembicを使用している場合は、これは `sa.Text`の代わりに、` Text`を使用して0.9.0

関連する問題