from django.apps import apps from django.test.runner import DiscoverRunner class ManagedModelTestRunner(DiscoverRunner): def setup_test_environment(self, *args, **kwargs): self.unmanaged_models = [m for m in apps.get_models() if not m._meta.managed] for m in self.unmanaged_models: m._meta.managed = True super(ManagedModelTestRunner, self).setup_test_environment(*args, **kwargs) def teardown_test_environment(self, *args, **kwargs): super(ManagedModelTestRunner, self).teardown_test_environment(*args, **kwargs) for m in self.unmanaged_models: m._meta.managed = False