Как изменить первичный ключ в модели 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 .
Я видел другие ответы, связанные с переименованием модели
Также есть ли безопасный способ/безопасный режим, чтобы опробовать эти изменения/миграции перед тем, как приступить к работе с оригинальной кодовой базой