ProgrammingError at /app-name/url-name
relation "TableName" does not exist
LINE 1: SELECT (1) AS "a" FROM "TableName" WHERE "TableName..."
Я сделал inspectdb
, подтвердил, что сопоставление соответствует тому, что автоматически устанавливается при запуске makemigrations
, и удалил все миграции из таблицы django_migrations и повторно запустил migrate
.Я также проверил, что миграции успешно импортированы, просмотрев таблицу django_migrations, а также запустив showmigrations
.
Интересно, почему я вижу двойные кавычки вокруг имен таблиц, поэтому новые модели нельзя использовать?Интересно, что если я ссылаюсь на модель, которая будет использоваться в форме (а не в представлении), она действительно работает нормально, я вижу правильные входные данные в форме, поступающие из базы данных.Ошибка возникает, когда я выполняю запрос с использованием Django - этот запрос настроен в рамках той же самой модели TableName, правильно ли на него ссылаются?(вместо импорта TableName из app-name.models)
TableName.objects.using('CUSTOMDBSETTING').filter(colid='value')
Обратите внимание, что это работает, когда я пытаюсь использовать оболочку напрямую, а не через Django.У меня также нет первичного ключа для этой таблицы, и когда я пытаюсь установить не по умолчанию (не идентификатор), это дает мне еще одну ошибку.
Так что это дает мне ошибку, когда я пытаюсь сослаться на то, что должно быть первичным ключом (но не) в отображении таблицы.Когда я пытаюсь удалить первичный ключ для определенного идентификатора (только в моделях, а не в миграциях)
('42S22', "[42S22] [Microsoft] [Драйвер ODBC 17 для SQL Server][SQL Server] Неверное имя столбца 'id'. (207) (SQLExecDirectW); [42S22] [Microsoft] [Драйвер ODBC 17 для SQL Server] [SQL Server] Оператор (ы) не может быть подготовлен. (8180) ")