2011-01-13 17 views

答えて

0

ここでは、Djangoのテストケースから主に取得されるフィクスチャを読み込むコードスニペットを示します。 "db"が正しいdb(テストDB)を指していることを確認するだけです。私はカスタム設定ファイルを渡すだけでこれを行います。 "db"は実際の接続ではなくエイリアスを指します。データベースを1つだけ使用している場合(テストDBを数えない場合)、これを「デフォルト」に設定するだけです。したがって、テストでクラス属性が 'fixtures'の場合​​は、loaddata管理コマンドと同じルールでフィクスチャをロードします。

if getattr(self, 'multi_db', False): 
     databases = connections 
    else: 
     databases = [DEFAULT_DB_ALIAS] 

    for db in databases: 

     if hasattr(self, 'fixtures'): 
     # We have to use this slightly awkward syntax due to the fact 
     # that we're using *args and **kwargs together. 
     call_command('loaddata', *self.fixtures, 
         **{'verbosity': 0, 'database': db}) 

あなたはこの仕事をするために

import from django.core.management import call_command 

にする必要があります。

関連する問題