Изменение имени Django / Postgres db_table

Я выполнил инструкцию здесь: Изменить имя таблицы в Django, чтобы переместить мои модели django в другое приложение. Это сработало, но теперь мои модели ссылаются на старое имя таблицы в

    class Meta:
        db_table = 'api_currency'

Каким образом можно вернуть имя этой таблицы к значению по умолчанию, "country_currency", как в приложении "countries_currency"?

Избавьтесь от class Meta: …. затем запустите makemigrations и перенесите

Red Cricket 06.11.2018 09:07

@peter Вам удалось найти ответ на этот вопрос?

kunambi 06.05.2021 12:17
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
574
1

Ответы 1

По умолчанию django создает имя таблицы после вашего app_name (Подробнее). Таким образом, вы можете иметь одно и то же имя таблицы в разных приложениях.

Чтобы вернуться к значениям по умолчанию, сначала вручную удалите файл миграции, созданный для таблицы api_currency. Если вы уже выполнили миграцию, вы можете либо вручную удалить строку в таблице django_migrations (она отслеживает весь файл миграции, который был перенесен, поэтому просто удалите эту строку, которая содержит имя файла миграции, в котором эта таблица была создана) в вашем базы данных или путем запуска поддельных миграций. (ВНИМАНИЕ: удаляйте только в том случае, если в базе данных нет ценных данных.)

После этого удалите этот параметр Meta, а затем снова запустите make_migrations и выполните миграцию.

Не предлагайте удалять подобные миграции. Это действительно подходит, только если в базе данных нет важных данных, и вы счастливы отбросить базу данных и воссоздать ее. Если вам нужно сохранить существующую базу данных, то удаление файлов миграции будет означать, что они не синхронизированы, что может быть очень сложно исправить.

Alasdair 06.11.2018 10:25

@Alasdair Да, вы правы, согласно вопросу, похоже, что он все еще находится на этапе создания (хотя я не должен был предполагать), поэтому дал это решение. Я сделал предупреждение, чтобы прояснить это. Спасибо.

bak2trak 06.11.2018 10:48

Другие вопросы по теме