【问题标题】:RuntimeError: Conflicting 'product_product_options' models in application 'catalogue'RuntimeError:应用程序“目录”中的“product_product_options”模型冲突
【发布时间】:2016-09-13 06:17:31
【问题描述】:

版本信息: 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 *

我已经将修改后的目录包含在settings.py 中的INSTALLED_APPS 中作为列表,正如针对类似问题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'>.

我该如何克服这个错误?

【问题讨论】:

    标签: django django-oscar


    【解决方案1】:

    如果你想导入一些模型,你需要使用 get_model 函数。 例如:

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

    【讨论】:

      【解决方案2】:

      我有同样的错误。我还在模型顶部添加了“from oscar.apps.catalogue.models import *”。一旦我将其删除,该问题就解决了。

      【讨论】:

        猜你喜欢
        • 2018-01-01
        • 1970-01-01
        • 2017-01-24
        • 1970-01-01
        • 1970-01-01
        • 2016-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多