オスカーが指摘しているローカルフォルダを拾っていないようです。オーバーライド時に競合するモデル
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">
ですこれはまた別の関連の質問に私をリード - 2つのsettings.pyがあります。私は両方で追加しようとしました。私のメインアプリケーションでmyoscar.partner
を削除すると、明らかにエラーは表示されませんが、オスカーのデフォルトモデルが得られます。それは意味がありますが、追加すると上記のエラーにぶつかります。このオーバーライドの前にパートナモデルを登録する - 少なくとも私が知っているものではない。
私の質問は です。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
興味深いことに全体のポイントがオーバーライドされていましたが、get_model( 'パートナー'、 'パートナー')が表示されても同じオスカーモデルです。 – JamAndJammies