我正在尝试将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"
答案 0 :(得分:2)
您必须先实施物化模型,或者在商店实施中导入默认模型。请看这个链接:http://django-shop.readthedocs.io/en/latest/reference/deferred-models.html
编辑: 默认模型位于shop / models / defaults目录中。您可以在商店实施中导入它们,也可以复制它们并根据项目需要进行修改。
shop / models / defaults / __ init__.py说:
目录默认中的模型已添加为纯粹的便利 并用于演示目的。每当需要使用时 修改后的版本,将其中一个模型复制到项目模型中 目录并根据您的需要采用它。否则只需导入模型 到你自己的models.py文件而不使用它。后者很重要 实现模型。
每个模型都在自己的文件中声明。这是为了防止模型 相关字段的验证错误,如果包含此文件的文件 在不使用模型的情况下导入定义。