Отложенный внешний ключ 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, не используя его. Последнее важно для материализации модели.
Каждая модель объявлена в своем собственном файле. Это необходимо для предотвращения ошибок проверки модели в связанных полях, если файл, содержащий это определение, импортируется без использования модели.