Django связь ошибки программирования не существует, несмотря на создание модели - PullRequest
0 голосов
/ 03 августа 2020

Я переименовал некоторые из своих моделей и попытался применить миграции, но Django не обнаружил, что они были переименованы. Поэтому я удалил содержимое manage.py, очистил базу данных, а затем запустил manage.py makemigrations и manage.py migrate. Теперь я получаю следующую ошибку, когда пытаюсь получить доступ к одной из моих моделей через консоль администратора или с помощью любых запросов:

ProgrammingError at /admin/restapi/appuser/
relation "restapi_appuser" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "restapi_appuser"

Когда я запускал manage.py makemigrations, вывод был включен (усечен):

Migrations for 'restapi':
  restapi/migrations/0001_initial.py
    - Create model AppUser

Я пробовал запустить python3 manage.py sqlmigrate restapi 0001_initial со следующим выводом (усеченным):

BEGIN;
--
-- Create model AppUser
--
CREATE TABLE "restapi_appuser" ("id" serial NOT NULL PRIMARY KEY, "username" varchar(30) NOT NULL UNIQUE, "email" varchar(50) NOT NULL UNIQUE, "password" varchar(50) NOT NULL, "join_date" timestamp with time zone NOT NULL);

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

edit:

здесь вывод manage.py для полноты миграции:

> python3 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, restapi, sessions
Running migrations:
  No migrations to apply.

1 Ответ

0 голосов
/ 03 августа 2020

sqlmigrate показывает только SQL для миграции.

Вам нужно будет запустить migrate для Django, чтобы фактически применить отложенные миграции к вашей базе данных после того, как вы makemigrations изд.

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