Skip to content

Формирование множественного имени в названии таблицы. #16

@gugutsidze-vv

Description

@gugutsidze-vv
@classmethod
    def _get_tablename(cls):
        """Конвертирует имя класса из CamelCase в snake_case.

        Добавляет 's' в конец имени класса, чтобы получить имя таблицы в
        множественном числе.
        Например, для класса GuestFullName вернет 'guest_full_names'.
        """
        name = ''.join(
            [
                '_' + character.lower() if character.isupper() else character
                for character in cls.__name__
            ],
        ).lstrip('_')
        return f'{name}s'

Тут не хватает проверки на слова которые заканчиваются на ch, s, sh или x , множественное число образуется с помощью прибавления окончания –es.

Существительные, оканчивающиеся на «согласную + y», образуют множественное число, отбрасывая y и прибавляя окончание – ies.

Однако, существительные, оканчивающиеся на «гласную + y», образуют множественное число, просто с помощью окончания – s.

Существительные, оканчивающиеся на f или fe, при образовании множественного числа меняют f на v. Например, в следующих существительных, образующих множественное число при помощи окончания es, согласная f в конце слова меняется v.

см правила и исключения.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions