2011-01-13 75 views

回答

0

这里是一个代码片段,它加载了大部分来自Django测试用例的装置。你只需要确保“db”指向正确的db(测试数据库)。我只需传入一个自定义设置文件即可完成此操作。这里的“db”指向的只是一个别名,而不是实际的连接。如果您只使用一个数据库(不包括测试数据库),则只需将其设置为“默认”即可。因此,如果您测试的是“灯具”的类属性,它将使用与管理命令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 

,使这项工作。

相关问题