2
私はpostgresqlでテーブルを自動生成しており、リストから名前を使用してモデルをsqlacodegen
で自動生成します。SyntaxError:sqlacodegenを使用して生成されたモデルをインポートするときに識別子の文字が無効
一部の名前は非ASCII文字です。名前aussieBabe
の場合、テーブルaussieBabe_index
が作成され、sqlAlchemyモデルはaussieBabeIndex
です。しかし、これらのモデルをクエリのためにインポートしようとすると、私はエラー以下になります。
line 147
class aussieBabeIndex(Base):
^
SyntaxError: invalid character in identifier
これは、テーブルを作成する前に無効な文字を削除するか、クラス名を制限することで解決できるとします。 sqlacodegen
によって生成されるクラス名を制限したいのですが、これをどのように達成できますか?コードに対してUnicodeエンコードを設定できますか?
問題トラッカーにバグを投稿してください! –
バグ修正を待つことができない場合は、https://github.com/agronholm/sqlacodegen/blob/master/sqlacodegen/codegen.pyの '_re_invalid_identifier'を変更すると便利です。 Python2の下でそれを実行して、識別子のUnicode文字を完全に避けることさえできます。 – snakecharmerb
バグレポートを投稿します。今度は、 '_re_invalid_identifier'を変更するための@snakecharmerbの提案に従います。 – Harwee