版本信息:
Python 3.4、Django 1.8、Oscar Commerce - VERSION = (1, 2, 1, 'final')

我正在尝试在 documentation 之后的目录应用程序中自定义 Products

fork 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 *

我已经将修改后的目录包含在 INSTALLED_APPS 中的 settings.py 作为列表中,如针对类似问题 here 的建议。
INSTALLED_APPS = INSTALLED_APPS + get_core_apps(
      ['app.gravytrain.catalogue',])

已将迁移文件夹从 oscar/apps/catalogue 复制到我的自定义应用程序。
但是运行迁移会导致以下错误:
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')

关于django - 运行时错误 : Conflicting 'product_product_options' models in application 'catalogue' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37271185/

10-08 22:06