class DjangoLayer(object):

    @classmethod
    def setUp(self):
        from django.conf import settings
        self.pre_existing_db_name = settings.DATABASE_NAME
        from django.test import utils
        utils.setup_test_environment()
        utils.create_test_db(verbosity=0, autoclobber=True)

    @classmethod
    def tearDown(self):
        from django.test import utils
        utils.destroy_test_db(self.pre_existing_db_name, verbosity=0)
        utils.teardown_test_environment()
    
    @classmethod
    def testTearDown(self):
        from django.core import management
        management.call_command('flush', verbosity=0, interactive=False)