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

#python #django #postgresql

#python #django #postgresql

Вопрос:

Это мой код

 class BsValuesTTM(models.Model):
        corpname = models.CharField(max_length=100)
        co_name = models.CharField(max_length=100, primary_key=True)
        ACR = models.FloatField()
        Inventory = models.FloatField(null=True)
        CashCE = models.FloatField(null=True)
        CurrentAssets = models.FloatField()
        GrossPPE = models.FloatField()
        AccDepn = models.FloatField(null=True)
        NetPPE = models.FloatField()
        Intangibles = models.FloatField(null=True)
        NCA = models.FloatField()
        Assets = models.FloatField()
 

у меня есть только один первичный ключ в моей модели, Django выдает эту ошибку

 django.db.utils.ProgrammingError: multiple primary keys for table "Main_bsvaluesttm" are not allowed
 

Я изменил поле для первичного ключа, ранее это было corpname, и это поле раньше было внешним ключом.
Я использую Postgresql12 с Django.

Комментарии:

1. Вы правильно перенесли изменения в таблице

2. я следовал стандартной процедуре makegmigrations и migrate command, я делал это после каждого изменения, когда тестировал приложение во время его сборки.

3. Я попытался удалить эту модель и создать другую аналогичную модель, но тоже не могу этого сделать

4. Проблема не была исправлена, пришлось начинать мой проект заново, копировать-вставлять, и он работал. Возможно, миграция ошибочна.

5. Не могли бы вы опубликовать свое решение в качестве ответа и отметить как разрешенное @samar2170?

Ответ №1:

Проблема не была исправлена, пришлось начинать мой проект заново, копировать-вставлять, и он работал. Миграции перепутались.