0

A と B の 2 つのサイトがあります。A は B のいくつかのテーブルに依存しているため、B のデータベースへの特定のモデル アクセスをルーティングするためにDATABASES、その設定の下にいくつかのエントリと共に B を指す設定のエントリがあります。DATABASE_ROUTERS

今、私は A でテストを書き込もうとしていmanage.py testますが、A のモデルの一部が B からのテーブルでカバーされているモデルに依存しており、B の完全なデータベース テーブルがまだ作成されていないため、すぐに実行できません。

だから私の質問は、Bのテストデータベースに対してBでTEST_RUNNER最初に実行するように調整して、Aで実行すると、依存しているBからテーブルを見つけることができるようにするにはどうすればよいですか?syncdbmanage.py test

それが理にかなっていることを願っています。

4

2 に答える 2

0

私はついにテストを実行しました、これが私がしたことです:

  • DATABASE_ROUTERSテスト実行時に設定を無効にする
  • 設定でBエイリアスを維持しDATABASESますが、名前はAと同じです
  • INSTALLED_APPSAに存在しないBを追加しますINSTALLED_APPS
于 2012-08-01T11:25:58.467 に答える
0

テストですべてのデータを 1 つのデータベースに格納することができない場合 (たとえば、テスト用に別のルーター設定を使用する場合)、独自の を作成することを検討する必要がありますTEST_RUNNER。多分これはあなたを正しい方向に向けるでしょう!

于 2012-08-01T09:23:00.570 に答える