Django、複数のデータベース、構成の問題:「データベースルーターのインポートエラー」

StackOverflow https://stackoverflow.com/questions/3150931

質問

私は従いました これらの指示 複数のデータベースを使用してDjangoをセットアップします。それは私のローカル開発環境(Win7)で意図したとおりに機能していますが、プロジェクトをライブサーバー(WebFaction)にアップロードすると、

ImproperlyConfigured:データベースルーターのインポートエラーMyCustomRouter:「path.to.my.routerという名前のモジュールなし」

Djangoシェルから、myCustomRouterをインポートできます。

>>> from path.to.my.router import MyCustomRouter
>>>

Django1.2.1とPython2.6をローカルとライブサーバーで実行しています...

この動作を引き起こす可能性のあるものやデバッグの方法をヒントすることは大歓迎です!

乾杯、

マーティン

役に立ちましたか?

解決

同じ問題がありました。モデルのルーターを定義していました。クラスの定義を独自のファイル(Mine router.pyという名前)に移動し、それに応じて[設定]を更新して、エラーを解決しました。

他のヒント

path.to.myrouter 単なるプレースホルダーです。

setting.pyファイルに以下を追加するだけです

DATABASE_ROUTERS = ['myapp.routers.MyApp2Router',]

ルーターファイルrouters.pyの名前を変更します

例:

私のプロジェクトは、「給与」、「課税」、「ヘルプデスク」などの複数のアプリで構成されています。
ここで2 dBを使用しています - デフォルトとprod_db

これがルーターパスを設定する方法です,
1.給与アプリで「dbrouter.py」ファイルを作成しました
2. dbrouter.pyで、dbrouterクラスを定義します(ルーターコードについてはこれを参照してください - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/)
3. settings.pyでは、パスが設定されます
database_routers = ['payroll.dbrouter.dbrouter'、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top