Я выполнил инструкцию здесь: Изменить имя таблицы в Django, чтобы переместить мои модели django в другое приложение. Это сработало, но теперь мои модели ссылаются на старое имя таблицы в
class Meta:
db_table = 'api_currency'
Каким образом можно вернуть имя этой таблицы к значению по умолчанию, "country_currency", как в приложении "countries_currency"?
@peter Вам удалось найти ответ на этот вопрос?






По умолчанию django создает имя таблицы после вашего app_name (Подробнее). Таким образом, вы можете иметь одно и то же имя таблицы в разных приложениях.
Чтобы вернуться к значениям по умолчанию, сначала вручную удалите файл миграции, созданный для таблицы api_currency. Если вы уже выполнили миграцию, вы можете либо вручную удалить строку в таблице django_migrations (она отслеживает весь файл миграции, который был перенесен, поэтому просто удалите эту строку, которая содержит имя файла миграции, в котором эта таблица была создана) в вашем базы данных или путем запуска поддельных миграций. (ВНИМАНИЕ: удаляйте только в том случае, если в базе данных нет ценных данных.)
После этого удалите этот параметр Meta, а затем снова запустите make_migrations и выполните миграцию.
Не предлагайте удалять подобные миграции. Это действительно подходит, только если в базе данных нет важных данных, и вы счастливы отбросить базу данных и воссоздать ее. Если вам нужно сохранить существующую базу данных, то удаление файлов миграции будет означать, что они не синхронизированы, что может быть очень сложно исправить.
@Alasdair Да, вы правы, согласно вопросу, похоже, что он все еще находится на этапе создания (хотя я не должен был предполагать), поэтому дал это решение. Я сделал предупреждение, чтобы прояснить это. Спасибо.
Избавьтесь от
class Meta: …. затем запустите makemigrations и перенесите