Django-Oscar:从应用程序“地址”扩展基类“AbstractShippingAddress”时出错

时间:2015-12-18 16:47:19

标签: django python-3.3 django-oscar

您好我有一个让我发疯的问题。我想在ShippingAddress类中添加一个字段“company”。我做下一个:

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

    from oscar.apps.address.abstract_models import AbstractShippingAddress
    
    class ShippingAddress(AbstractShippingAddress):`
    
    from oscar.apps.order.models import *  # noqa*
    
  3. 我收到了下一个错误:

    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.

    如果有人可以帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:0)

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

确保您正在使用

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

在任何使用ShippingAddres模型的地方。

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

from oscar.apps.order.models import ShippingAddress

您将遇到此问题。