def prepare_model(): class NotPreparedYet(models.Model): class Meta: app_label = 'tenancy' managed = True remove_from_app_cache(NotPreparedYet) return NotPreparedYet
def test_tenant_specific_model_dynamic_subclassing(self): """ Make sure tenant specific models can be dynamically subclassed. """ model = self.tenant.specificmodels.model model_subclass = type(str("%sDynamicSubclass" % model.__name__), (model, ), {'__module__': model.__module__}) try: self.assertEqual(getattr(model, self.tenant.ATTR_NAME), getattr(model_subclass, self.tenant.ATTR_NAME)) self.assertIsSubclass(model_subclass, model) self.assertIsNotSubclass(model, model_subclass) finally: remove_from_app_cache(model_subclass)
def test_tenant_specific_model_dynamic_subclassing(self): """ Make sure tenant specific models can be dynamically subclassed. """ model = self.tenant.specificmodels.model model_subclass = type( str("%sDynamicSubclass" % model.__name__), (model,), {'__module__': model.__module__} ) try: self.assertEqual( getattr(model, self.tenant.ATTR_NAME), getattr(model_subclass, self.tenant.ATTR_NAME) ) self.assertIsSubclass(model_subclass, model) self.assertIsNotSubclass(model, model_subclass) finally: remove_from_app_cache(model_subclass)