Django несколько первичных ключей для таблицы ошибок - PullRequest
0 голосов
/ 05 декабря 2018

Мое приложение Django прекрасно работает на localhost, но когда я пытаюсь отправить его в Heroku, я получаю следующую ошибку:

remote: django.db.utils.ProgrammingError: несколько первичных ключей для таблицы "Clientes_productlist "не допускаются

Мой models.py файл:

class ProductList(models.Model):
    id_new = models.IntegerField(primary_key=True)
    sku = models.CharField(max_length=200)
    client = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    name = models.CharField(max_length=256)
    description = models.CharField(max_length=1000)
    storage = models.CharField(max_length=256)
    cost_price = models.CharField(max_length=256)
    sell_price = models.CharField(max_length=256)
    ncm = models.CharField(max_length=256)
    inventory = models.IntegerField(null=True)

    class Meta:
        unique_together = (('sku', 'client'),)

Я также использую пакет django-import-export.Поэтому мой resources.py:

class ProductListResource(resources.ModelResource):

    class Meta:
        model = ProductList
        skip_unchanged = True
        report_skipped = True
        exclude = ('id',)
        import_id_fields = ('sku', 'client',)
        fields = ('sku', 'client', 'name', 'description', 'storage', 'cost_price', 'sell_price', 'ncm', 'inventory',)

Что является причиной этой ошибки и как я могу ее исправить?

1 Ответ

0 голосов
/ 05 декабря 2018

Чтобы исправить это, вам нужно удалить все файлы миграции в папке migrations приложения, в котором существует модель ProductList, за исключением файла __init__.py и запустить ./manage.py makemigrations для создания новых миграций.Затем совершите эти миграции и отправьте их в Героку.

...