django – RuntimeError:应用程序“目录”中的’product_product_options’模型冲突

版本信息:

Python 3.4,Django 1.8,Oscar Commerce – VERSION =(1,2,1,’final’)

我试图在documentation之后的目录应用程序中自定义产品.

分叉了目录应用程序,我已经定义了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中作为列表,如同类似问题here所建议的那样.

INSTALLED_APPS = INSTALLED_APPS + get_core_apps(
      ['app.gravytrain.catalogue',])

已将迁移文件夹从oscar / apps / catalog复制到我的自定义应用程序.
但是,运行迁移会导致以下错误:

RuntimeError: Conflicting 'product_product_options' models in
application 'catalogue': <class
'gravytrain.catalogue.models.Product_product_options'> and <class
app.gravytrain.catalogue.models.Product_product_options'>.

我该如何克服这个错误?

最佳答案 如果要导入某些模型,则需要使用get_model函数.

例如:

from oscar.core.loading import get_model
Product = get_model('catalogue', 'Product')
点赞