django oscar commerce:冲突' stockrecord'应用中的模型

时间:2018-02-20 13:24:12

标签: python django django-models django-oscar

我在我的django项目中使用oscarcommerce。我想扩展" StockRecord"模型包括更多的字段。所以我按如下方式分配了合作伙伴应用程序。 (boscar是我的应用名称)

python manage.py oscar_fork_app partner boscar/ 

它成功分叉,新文件被添加到boscar / partner文件夹。我添加了' boscar.partner'在我安装的应用程序中。

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

boscar /合伙人/ 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'>.

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

1 个答案:

答案 0 :(得分:0)

由于与Oscar支持重写模型和类相关的循环导入问题,可能会发生该错误。

您需要直接从oscar.apps.partner.models检查您要导入的地方。这些应该通过从boscar.partner.models或使用oscar.core.loading.get_model进行导入来替换。