def get_resource_key(self): """Return canonical resource key, usually the DB table name.""" model = self.get_model() if model: return get_model_table(model) else: return self.get_name()
def get_canonical_serializer( resource_key, model=None, instance=None, resource_name=None ): """ Return canonical serializer for a given resource name. Arguments: resource_key - Resource key, usually DB table for model-based resources, otherwise the plural name. model - (Optional) Model class to look up by. instance - (Optional) Model object instance. Returns: serializer class """ if model: resource_key = get_model_table(model) elif instance: resource_key = instance._meta.db_table elif resource_name: resource_key = resource_name_map[resource_name] if resource_key not in resource_map: return None return resource_map[resource_key]['viewset'].serializer_class
def get_canonical_serializer(resource_key, model=None, instance=None, resource_name=None): """ Return canonical serializer for a given resource name. Arguments: resource_key - Resource key, usually DB table for model-based resources, otherwise the plural name. model - (Optional) Model class to look up by. instance - (Optional) Model object instance. Returns: serializer class """ if model: resource_key = get_model_table(model) elif instance: resource_key = instance._meta.db_table elif resource_name: resource_key = resource_name_map[resource_name] if resource_key not in resource_map: return None return resource_map[resource_key]['viewset'].serializer_class
def test_get_canonical_serializer(self): rsrc_key = get_model_table(Dog) self.assertEqual(DogSerializer, DynamicRouter.get_canonical_serializer(rsrc_key))
def test_get_canonical_serializer(self): rsrc_key = get_model_table(Dog) self.assertEqual( DogSerializer, DynamicRouter.get_canonical_serializer(rsrc_key) )
def get_serializer_class(self, model): key = get_model_table(model) return self._serializer_classes.get(key, None)
def add_serializer_class(self, model, serializer_class): key = get_model_table(model) self._serializer_classes[key] = serializer_class