django-extensionsのshell_plus
にどのようなモデルを自動ロードしたいのですか?django-extensions shell_plus autodoad
答えて
shell_plusが私のモデルを自動ロードしていなかったときはいつも、モデルにエラーがあり、自動ロードが失敗することがあったからです。
シェルプラスを開いて、手動でモジュールを手動でロードしようとするとどうなりますか?しようとする
from app.models import ModelName
もう一つは、設定ファイルのデフォルトのDjangoのアプリケーション以外のアプリケーションのすべてをオフにして、彼らはうまく自動ロードかどうかを確認することです。そうした場合は、徐々に機能が停止するまで、一度に1つずつ複数のアプリをゆっくりと追加してください。どのモデルに問題があるかを知ることができます。どのモデルが問題を抱えているかを知ると、何が起きているのかを簡単に知ることができます。
私が持っていた最も一般的なエラーは、2つの異なるモデル(このモデルはそのモデルに依存しますが、まだ読み込まれていませんでした。逆も同様です)に周期的な依存関係がありました。
希望に役立ちます。
shell_plus - Djangoのシェルの拡張版。すぐに をORMで動作させるように、すべてのモデルを に自動ロードします。 https://github.com/django-extensions/django-extensions/wiki/Current-Command-Extensions
に位置ジャンゴ・エクステンションのgithubののwikiから
の引用は、その設計されたが、すぐにALLモデルを自動ロードするために、その実際の変更を信じてはいけません。
codeによる。 shell_plusは常にすべてのモデルをロードします。
私はいくつかのモデルを無視することを可能にするshell_plus拡張のための新しいパッチを作った。 https://github.com/django-extensions/django-extensions/pull/99が受け入れられるのを待っています。
投稿を更新しませんでしたが、このパッチは現在アップストリームリリースにあります。 :) – xeor
デフォルトでは、shell_plus
は常にすべてのモデルを読み込みます。 @xeorのおかげで、設定でSHELL_PLUS_DONT_LOADオプションを使用して、モデルの一部をスキップすることができます。 名前の衝突を避けるために、モデルにエイリアスを設定することもできます。
- 1. ExtJS 4 TreePanel autodoad
- 2. コマンドラインからshell_plusを使ってpythonスクリプトを実行しています
- 3. Django IPython sqliteは素朴な日付について不平を言います
- 4. Djangoのコマンドが新しく追加されたデータ
- 5. ジャンゴ:sqlite3.OperationalError:いいえ、そのようなテーブル
- 6. Django/MacOSは効率的な開発ワークフローを改訂しました
- 7. レンダリング中にNoReverseMatchが発生しました:引数 '(' '、)'およびキーワード引数 '{}'が見つからない場合は、 'accounts_profile_view'を反転してください。
それは私のモデルのいずれかをロードしません。 –
@ Jason-Swett、おそらくあなたのモデルのいずれかに問題があり、これが原因でモデルが正しく読み込まれません。詳細は私の答えを見てください。 –