'Makes a new model at runtime and ensures it goes into the right place.'

def test_dynamic_load(self):

    old_models = list(apps.get_app_config('apps').get_models())
    body = {}
    new_apps = Apps(['apps'])
    meta_contents = {'app_label': 'apps', 'apps': new_apps}
    meta = type('Meta', (), meta_contents)
    body['Meta'] = meta
    body['__module__'] = TotallyNormal.__module__
    temp_model = type('SouthPonies', (models.Model,), body)
    self.assertEqual(list(apps.get_app_config('apps').get_models()), old_models)
    with self.assertRaises(LookupError):
        apps.get_model('apps', 'SouthPonies')
    self.assertEqual(new_apps.get_model('apps', 'SouthPonies'), temp_model)
