SyntaxError: Invalid character in identifier when importing models generated using sqlacodegen
SyntaxError: Invalid character in identifier when importing models generated using sqlacodegen
我在 postgresql 中自动生成 table,模型是使用 sqlacodegen
使用列表中的名称自动生成的。
有些名称是非 ascii 字符。对于名称 aussieBabe
,它创建了一个 table aussieBabe_index
,其 sqlAlchemy 模型是 aussieBabeIndex
。但是当我尝试导入这些模型进行查询时,出现以下错误。
line 147
class aussieBabeIndex(Base):
^
SyntaxError: invalid character in identifier
我认为这可以通过在创建 table 或限制 class 名称之前删除无效字符来解决。我想限制由 sqlacodegen
生成的 class 名称,我该如何实现?或者我可以为代码设置 Unicode 编码吗?
您的 table 名称包含一些甚至 Python 3 都不允许的字符。您需要手动修复 class 名称。不能指望 SQLACodegen 会产生完美的结果,正如其文档所述。
我在 postgresql 中自动生成 table,模型是使用 sqlacodegen
使用列表中的名称自动生成的。
有些名称是非 ascii 字符。对于名称 aussieBabe
,它创建了一个 table aussieBabe_index
,其 sqlAlchemy 模型是 aussieBabeIndex
。但是当我尝试导入这些模型进行查询时,出现以下错误。
line 147
class aussieBabeIndex(Base):
^
SyntaxError: invalid character in identifier
我认为这可以通过在创建 table 或限制 class 名称之前删除无效字符来解决。我想限制由 sqlacodegen
生成的 class 名称,我该如何实现?或者我可以为代码设置 Unicode 编码吗?
您的 table 名称包含一些甚至 Python 3 都不允许的字符。您需要手动修复 class 名称。不能指望 SQLACodegen 会产生完美的结果,正如其文档所述。