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

У меня есть проект 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 как на внешний ключ.

  • Я хотел бы переименовать fieldN_newpk в этой модели Foo_A, не теряя при этом никаких данных. Это изменение должно быть отражено и в других моих зависимых моделях.
  • Я хочу изменить первичный ключ с field1_pk на fieldN_newpk
  • Я хочу, чтобы эти изменения были отражены и в моей базе данных postgresql
  • .

Я видел другие ответы, связанные с переименованием модели

Также есть ли безопасный способ/безопасный режим, чтобы опробовать эти изменения/миграции перед тем, как приступить к работе с оригинальной кодовой базой

Вернуться на верх