覆盖时的冲突模型

时间:2017-10-24 14:23:31

标签: django

似乎奥斯卡没有拿起我指向的本地文件夹。

INSTALLED_APP = [] + get_core_apps(['myoscar.partner'])

我的错误是

Conflicting 'partner' models in application 'partner': <class "oscar.app.partner.models.Partner"> and <class "myoscar.partner.models.Partner">

这也引出了另一个相关问题 - 有两个settings.py。我试过加入两者。当我在主应用程序中删除myoscar.partner时,我显然没有得到错误,但它给了我奥斯卡的默认模型 - 这很有意义但是当我添加它时我遇到了上述错误。我不知道#39;我知道在此覆盖之前注册合作伙伴模型的其他任何地方 - 至少不是我所知道的。

我的问题是 1)哪个settings.py是正确的?我想确定一下。 2)当我指向分叉文件夹时,为什么会出现此错误?它没有拿起我的文件夹吗?

应用/ myoscar /合伙人/ models.py

from django.contrib.auth import get_user_model
from django.db import models
from oscar.apps.partner.abstract_models import AbstractPartner

User = get_user_model()

class Partner(AbstractPartner):
    users = models.OneToOneField(User,related_name='partner_user')

from oscar.apps.partner.models import * 
#per some answers on stackoverflow, I've also tried removing this but the docs say this should be added here to keep the other models.

我的文件夹结构:

App
|--app
|----__init.py__
|----settings.py
|----urls.py
|--myoscar
|----partner
|-------models.py
|----myoscar
|------settings.py
|------urls.py
|--mysub
|----migrations

1 个答案:

答案 0 :(得分:0)

问题似乎与related_name值有关。尝试使用不同的值。