未正确生成以字母“s”结尾的 ORM 类

new*_*bie 2 python sqlalchemy sqlacodegen

我正在使用 SQLAlchemy 和sqlacodegen为我的 PostgreSQL 模型生成 ORM 类。但令我惊讶的是,以字母“s”结尾的表格导致了问题。

例如,我有一个如下表

employee_status
Run Code Online (Sandbox Code Playgroud)

为该表生成的 ORM 类如下

Class EmployeeStatu(Base):
    __tablename__ = "employee_status"
    col1 = Column(String(32))
Run Code Online (Sandbox Code Playgroud)

当表名中存在结尾字母“s”时,为什么类名中缺少结尾字母“s”?

Chr*_*ris 5

sqlacodegen本身不这样做

模型类命名逻辑

使用“inflect”库将表名(假定为英文)转换为单数形式。然后,在将下一个字母转换为大写时删除每个下划线。例如,sales_invoices变成SalesInvoice

这似乎已被报告为该库中的错误。与此同时,没有什么能阻止您手动更正类名。