我在我的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;模型显示此错误。
答案 0 :(得分:0)
由于与Oscar支持重写模型和类相关的循环导入问题,可能会发生该错误。
您需要直接从oscar.apps.partner.models
检查您要导入的地方。这些应该通过从boscar.partner.models
或使用oscar.core.loading.get_model
进行导入来替换。