Как изменить первичный ключ в модели Django, чтобы затронуты и другие зависимые модели, и изменения синхронизировались сPython

Программы на Python
Гость
Как изменить первичный ключ в модели Django, чтобы затронуты и другие зависимые модели, и изменения синхронизировались с

Сообщение Гость »

У меня есть проект django с таблицей базы данных, которая уже содержит данные.
Модели:

Код: Выделить всё

class Foo_A(models.Model):
field1_pk = models.CharField(max_length=50)
field2
.
.
fieldN_newpk = model.CharField(max_length=50)
Данные в field1_pk и fieldN_newpk абсолютно одинаковы.

Предположим, у меня есть другие модели, ссылающиеся на fieldN_newpk в качестве внешнего ключа.
  • Я хотел бы переименовать поле N_newpk в этой модели Foo_A без потери данных. Это изменение также должно быть отражено в других моих зависимых моделях.
  • Я хочу изменить первичный ключ с field1_pk на fieldN_newpk
  • Я хочу, чтобы эти изменения также были отражены в моей базе данных PostgreSQL
Я видел другие ответы, связанные с переименованием модели
Также существует ли безопасный способ/безопасный режим, чтобы опробовать эти изменения/миграции, прежде чем приступать к использованию исходной базы кода

Подробнее здесь: https://stackoverflow.com/questions/781 ... ent-models

Вернуться в «Python»