2015-09-11 73 views
3

我有一個來自Django oscar的overwitten模型的問題。我想爲模型添加一個新字段,但是當我這樣做時,我有RuntimeError:應用程序'順序'中的'訂單'模型衝突:和。應用程序'訂單'中衝突的'訂單'模型

這就是我的代碼 myapp.oscar_apps.order.models.py

from oscar.apps.order.models import * # noqa 
from oscar.apps.order.abstract_models import AbstractOrder # noqa 
from django.db import models 

class Order(AbstractOrder): 
    hash = models.CharField(max_length=256, blank=True, null=True) 


from oscar.apps.order.models import * 

* myapp.oscar_apps.order。 初始化的.py

default_app_config = 'bakdrop.oscar_apps.order.config.OrderConfig' 

* myapp.oscar_apps.order.config.py

from myapp.apps.order import config 


class OrderConfig(config.OrderConfig): 
    name = 'myapp.oscar_apps.order' 

任何人可以幫助我解決這個問題?

更新我的INSTALLED_APPS

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.sites', 
    'django.contrib.flatpages', 
    'compressor', 
    'paypal', 
    'crispy_forms', 
    'django_select2', 
    'myapp.apps.user', 
    'myapp.apps.organization', 
    'widget_tweaks', 
    'djcelery', 

] + get_core_apps([ 
       'myapp.apps.promotions', 
       'myapp.oscar_apps.checkout', 
       'myapp.oscar_apps.order', 
       'myapp.oscar_apps.basket', 
       'myapp.oscar_apps.shipping', 
       'myapp.oscar_apps.payment', 

      ]) 
+0

您的'INSTALLED_APPS'看起來像什麼?你用你自己的方式取代了奧斯卡的訂單應用程序,因爲[在文檔中](http://django-oscar.readthedocs.org/en/latest/topics/customisation.html#replace-oscar-s-app-with-your -own式安裝,應用程序)? – Alasdair

+0

是我替換 –

回答

1

而不是做

from oscar.apps.order.models import *

我想你需要

from myapp.oscar.apps.order.models import *

這個調試好的策略是註釋掉所有這些,並逐行重新引入它們。通過這種方式,您可以指定錯誤:

get_core_apps([ 
       'myapp.apps.promotions', 
       #'myapp.oscar_apps.checkout', 
       #'myapp.oscar_apps.order', 
       #'myapp.oscar_apps.basket', 
       #'myapp.oscar_apps.shipping', 
       #'myapp.oscar_apps.payment', 

      ])