我遇到了来自Django oscar的过度模型的问题。我想为模型添加一个新字段但是当我这样做时,我有运行时错误:应用程序'顺序'中的'订单'模型冲突:和
这就是我的代码 的 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 :(得分: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',
])