Классы ORM, заканчивающиеся буквой "s", не генерируются должным образом - PullRequest
1 голос
/ 19 сентября 2019

Я использую SQLAlchemy и sqlacodegen для генерации классов ORM для моих моделей PostgreSQL.Но, к моему удивлению, таблицы, заканчивающиеся буквой "s", вызывают проблемы.

Например, у меня есть таблица, показанная ниже

employee_status

, и класс ORM, сгенерированный для этой таблицы, имеет видниже

Class EmployeeStatu(Base):
    __tablename__ = "employee_status"
    col1 = Column(String(32))

Почему конечная буква "s" отсутствует в имени класса, когда она присутствует в имени таблицы?

1 Ответ

4 голосов
/ 19 сентября 2019

sqlacodegen не делает этого сам :

Логика именования классов моделей

Имя таблицы (предполагается, чтобыть на английском языке) преобразуется в единственном числе с использованием библиотеки "inflect".Затем каждое подчеркивание удаляется при преобразовании следующей буквы в верхний регистр.Например, sales_invoices становится SalesInvoice.

Похоже, что уже было сообщено как ошибка в этой библиотеке .Между тем ничто не мешает вам исправить имя класса вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...