Отложенный внешний ключ OrderPayment.order не был сопоставлен

Я пытаюсь интегрировать django-shop с простой установкой django, но выдает следующую ошибку:

django.core.exceptions.ImproperlyConfigured: Deferred foreign key 'OrderPayment.order' has not been mapped


Я даже пытался создать модель OrderPayment, как указано в следующих документах, но все же мне не повезло.

class OrderPayment(models.Model):
id = models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')
order = models.ForeignKey(on_delete=models.deletion.CASCADE, to=Order, verbose_name='Order')

class Meta():
    verbose_name = "Order Payment"

1 ответ

Вы должны либо сначала реализовать свои материализованные модели, либо импортировать модели по умолчанию в реализацию вашего магазина. Смотрите эту ссылку: http://django-shop.readthedocs.io/en/latest/reference/deferred-models.html

Редактировать: Модели по умолчанию находятся в каталоге shop / models / defaults. Вы можете импортировать их в реализацию вашего магазина или скопировать и изменить их в соответствии с потребностями вашего проекта.

shop / models / defaults / __ init__.py говорит:

Модели в каталоге по умолчанию были добавлены для удобства и в целях демонстрации. Всякий раз, когда необходимо использовать модифицированную версию, скопируйте одну из этих моделей в каталог моделей проектов и адаптируйте ее для своих нужд. В противном случае просто импортируйте модель в свой собственный файл models.py, не используя его. Последнее важно для материализации модели.

Каждая модель объявлена ​​в своем собственном файле. Это необходимо для предотвращения ошибок проверки модели в связанных полях, если файл, содержащий это определение, импортируется без использования модели.

Другие вопросы по тегам