Beispiel #1
0
 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()
Beispiel #2
0
    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
Beispiel #3
0
    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
Beispiel #4
0
 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 test_get_canonical_serializer(self):
     rsrc_key = get_model_table(Dog)
     self.assertEqual(DogSerializer,
                      DynamicRouter.get_canonical_serializer(rsrc_key))
Beispiel #6
0
 def test_get_canonical_serializer(self):
     rsrc_key = get_model_table(Dog)
     self.assertEqual(
         DogSerializer,
         DynamicRouter.get_canonical_serializer(rsrc_key)
     )
Beispiel #7
0
 def get_serializer_class(self, model):
     key = get_model_table(model)
     return self._serializer_classes.get(key, None)
Beispiel #8
0
 def add_serializer_class(self, model, serializer_class):
     key = get_model_table(model)
     self._serializer_classes[key] = serializer_class