【问题标题】:Django-Oscar: Error extending base class "AbstractShippingAddress" from the app "address"Django-Oscar:从应用程序“地址”扩展基类“AbstractShippingAddress”时出错
【发布时间】:2015-12-18 16:47:18
【问题描述】:

你好,我有一个让我发疯的问题。我想向 ShippingAddress 类添加一个字段“公司”。我做下一个:

  1. forking django-oscar 的应用顺序。
  2. 在订单应用程序的文件 models.py 中,我编写了以下代码:

    from oscar.apps.address.abstract_models import AbstractShippingAddress
    
    class ShippingAddress(AbstractShippingAddress):`
    
    from oscar.apps.order.models import *  # noqa*
    

我得到下一个错误:

lib/python3.3/site-packages/django/apps/registry.py", line 221, in register_model
(model_name, app_label, app_models[model_name], model))
RuntimeError: Conflicting 'shippingaddress' models in application 'order': <class 'oscar.apps.order.models.ShippingAddress'> and <class 'apps.order.models.ShippingAddress'>.

我正在使用Django==1.8.6, django-oscar==1.1.1 and python 3.3.

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 嗨阿拉斯代尔!!非常感谢,但我想我没问题。这些是我在 settings.py 中包含的应用程序: INSTALLED_APPS = DEFAULT_APPS + THIRDPARTY_APPS + LOCAL_APPS + get_core_apps(['apps.customer', 'apps.partner', 'apps.shipping', 'apps.basket', 'apps.checkout' , 'apps.address', 'apps.order'])
  • 恐怕这是我唯一的建议。希望你能解决问题。

标签: django python-3.3 django-oscar


【解决方案1】:

我也遇到了这个问题,你的代码看起来不错,但是...

确保您正在使用

from oscar.core.loading import get_model
ShippingAddress = get_model('order', 'ShippingAddress') 

无论你在哪里使用ShippingAddress 模型。

如果您的代码中有如下一行:

from oscar.apps.order.models import ShippingAddress

你会遇到这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    相关资源
    最近更新 更多