【问题标题】:Conflicting 'order' models in application 'order'应用程序“订单”中的“订单”模型冲突
【发布时间】:2015-09-11 16:13:30
【问题描述】:

我对 Django oscar 的过度设计模型有疑问。我想为模型添加一个新字段,但是当我这样做时,我有 RuntimeError: Conflicting 'order' models in application 'order': and .

这是我的代码 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.init.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',

            ])

【问题讨论】:

  • 您的INSTALLED_APPS 是什么样的?你用自己的in the docs替换了Oscar的订单应用吗?

标签: python django django-oscar


【解决方案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',

            ])

【讨论】:

    猜你喜欢
    • 2015-12-16
    • 2012-07-17
    • 1970-01-01
    • 2018-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多