【发布时间】:2016-09-19 13:40:04
【问题描述】:
版本信息:Python 2.7、Django 1.9、Oscar Commerce - VERSION = (1.3)
我正在尝试按照文档在目录应用中自定义产品和其他几个模型。
我已经按照文档 documentation 分叉了目录应用程序(到 myproject/forked_apps/catalogue),并在 models.py 中执行了此操作:
from django.db import models
from oscar.apps.catalogue.abstract_models import AbstractProduct
class Product(AbstractProduct):
is_active = models.BooleanField(default=False)
from oscar.apps.catalogue.models import *
我已经在 settings.py 的 INSTALLED_APPS 中包含了修改后的目录应用程序,作为 get_core_apps 函数的参数,如文档中所述(因此我的本地应用程序正在替换 Oscar 的原始应用程序)。
INSTALLED_APPS = [
...
] + get_core_apps(['forked_apps.catalogue'])
迁移也从 oscar.apps.catalogue 复制到我的本地应用程序。 当我尝试进行迁移时,我一直收到此错误:
RuntimeError: Conflicting 'product_product_options' models in application 'catalogue': <class 'oscar.apps.catalogue.models.Product_product_options'> and <class 'forked_apps.catalogue.models.Product_product_options'>.
我试图从我的本地目录应用程序(我之前从 Oscar 应用程序复制的)中删除所有迁移,然后它可以工作,但是所有新的迁移都是在 Oscar 源代码文件夹中创建的,但我需要它们在我的项目中。 ..
我该如何克服这个错误?
【问题讨论】:
标签: django django-oscar