Я изменил название своего приложения Django, а не имена баз данных, которые не совпадают

Я использую Django и хотел изменить название приложения с "project" на "проекты", чтобы сделать его более понятным и соответствующим другим моделям.

Итак, я проделал обычные действия с Django. Изменил название конфигурации, изменил URL-адрес конфигурации, изменил название папки приложения. Даже изменил apps.py и URL-адреса на app_name = 'проекты'

Миграция прошла нормально.

Проблема в том, что база данных по-прежнему отображает все как project_*** в базе данных.

enter image description here

Итак, теперь я получаю такие ошибки, как эти:

** error relation "projects_overview" does not exist

LINE 1: SELECT "projects_overview"."a_id" FROM "projects_overview"

Ему нужна новая буква "S".

как я могу заставить базу данных отображать правильный префикс projects_, а не старый project_?

придется ли мне использовать команды Postgres для изменения всех таблиц вручную или я пропустил какую-то команду Django.

Базы данных - это не мое, поэтому я очень благодарен за чью-либо добрую помощь. Спасибо».

Название таблицы следует изменить соответствующим образом. Что-то вроде

alter table project_overview rename...

ИЗМЕНИТЬ ТАБЛИЦУ

project_overview

ПЕРЕИМЕНОВАТЬ В

projects_overview

;

Вы можете указать пользовательское имя таблицы в модели с помощью метакласса перед изменением имени приложения, чтобы оно не конфликтовало с именем приложения

class MyModle:
    class Meta:
        db_table = "custom_table_name"

Примечание:

Вы должны сделать это перед изменением названия приложения. В противном случае вам придется вручную изменить имя каждой таблицы в базе данных или написать custom migration, чтобы переименовать таблицы с новым именем приложения.

Вернуться на верх