在测试期间启动新的django进程时,它使用了错误的数据库

在测试期间启动新的django进程时,它使用了错误的数据库,django,database,multiprocessing,Django,Database,Multiprocessing,如果我在django测试用例中启动一个新进程,它将使用普通数据库而不是测试数据库 class ClientManagerTest(TestCase): def setUp(self): self.clientprocess = Process(target=run).start() 现在如果我这样做了 def run(): User.objects.all() 它查询标准数据库而不是测试数据库。如何修复此问题?如果这是您看到的行为,则需要在堆栈的更上层使用一个可

如果我在django测试用例中启动一个新进程,它将使用普通数据库而不是测试数据库

class ClientManagerTest(TestCase):
    def setUp(self):
        self.clientprocess = Process(target=run).start()
现在如果我这样做了

def run():
   User.objects.all()

它查询标准数据库而不是测试数据库。如何修复此问题?

如果这是您看到的行为,则需要在堆栈的更上层使用一个可调用函数,该函数将适当初始化Django的测试基础结构

但是,在Django中,这不是处理跨进程共享工作的推荐方法。你应该考虑使用;它们提供了这个用例