【问题标题】:django oscar commerce: Conflicting 'stockrecord' models in applicationdjango oscar commerce:应用程序中冲突的“stockrecord”模型
【发布时间】:2018-02-20 13:24:12
【问题描述】:

我将 oscarcommerce 用于我的 django 项目。我想扩展“StockRecord”模型以包含更多字段。所以我分叉了合作伙伴应用程序,如下所示。 (boscar 是我的应用名称)

python manage.py oscar_fork_app partner boscar/ 

它已成功分叉并将新文件添加到 boscar/partner 文件夹。我在已安装的应用中添加了“boscar.partner”。

现在我在 StockRecord 模型中添加了新字段,如下所示

boscar/partner/models.py

from django.db import models
from oscar.apps.partner.abstract_models import AbstractStockRecord


class StockRecord(AbstractStockRecord):
    effective_price = models.FloatField(default=0, null=True)
    is_instock_item = models.BooleanField(default=False, null=True)
    instock_quantity = models.IntegerField()

from oscar.apps.partner.models import *  # noqa

现在,当我尝试进行迁移时,它会显示以下错误。

RuntimeError: Conflicting 'stockrecord' models in application 'partner': <class 'oscar.apps.partner.models.StockRecord'> and <class 'boscar.partner.models.StockRecord'>.

我已经成功地分叉了目录和订单模型,并且工作正常。只有这个“StockRecord”模型显示此错误。

【问题讨论】:

  • 您说“在我安装的应用程序中添加了 'boscar.partner'”,您是否使用 get_core_apps 来做到这一点?喜欢:INSTALLED_APPS = [#Other apps] + get_core_apps(['boscar.partner'])
  • 'corsheaders', 'adminapi', 'schedule' ] + get_core_apps(['boscar.partner','boscar.catalogue','boscar.wishlists',]
  • 接下来我要检查的是您没有在代码中的某处直接导入该模型,您应该直接导入 boscar.partner.models.StockRecord 或使用 oscar.core.loading.get_model('partner', 'StockRecord')
  • 请向我们展示您的完整 INSTALLED_APPS 设置。
  • @CraigLoftus,你拯救了我的一天。非常感谢你。在我的一个序列化程序中,我导入为code from oscar.apps.partner.models import StockRecord code。现在我已将其更改为code from boscar.partner.models import StockRecord code。现在它起作用了。再次感谢。你能不能先解释一下这个问题。

标签: python django django-models django-oscar


【解决方案1】:

该错误可能是由于与 Oscar 对覆盖模型和类的支持相关的循环导入问题造成的。

您需要检查直接从oscar.apps.partner.models 导入的位置。这些应通过从boscar.partner.models 导入或使用oscar.core.loading.get_model 替换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2018-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 2021-12-25
    相关资源
    最近更新 更多