diff options
| author | Jamie Matthews | 2012-09-26 13:05:21 +0100 |
|---|---|---|
| committer | Jamie Matthews | 2012-09-26 13:05:21 +0100 |
| commit | 01770c53cd9045e6ea054f32b1e40b5d2ff7fe44 (patch) | |
| tree | 657cb66f92d78add3b2f587754387832043168e6 /djangorestframework/generics.py | |
| parent | f6488cb0589d3b11fb8d831e00d1389f3fff74b6 (diff) | |
| parent | 09a445b257532be69ffab69a3f62b84bfa90463d (diff) | |
| download | django-rest-framework-01770c53cd9045e6ea054f32b1e40b5d2ff7fe44.tar.bz2 | |
Merge branch 'restframework2' of git://github.com/tomchristie/django-rest-framework into improved-view-decorators
* 'restframework2' of git://github.com/tomchristie/django-rest-framework: (56 commits)
Bits of cleanup
Add request.QUERY_PARAMS
Add readonly 'id' field
Tweak browseable API
Don't display readonly fields
Fix some bits of serialization
Add csrf note
Fix incorrect bit of tutorial
Added tox.ini
Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing
Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing
Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing
Clean up bits of templates etc
Hack out bunch of unneccesary private methods on View class
Clean up template tags
Remove dumbass __all__ variables
Remove old 'djangorestframework directories
Change package name: djangorestframework -> rest_framework
Dont strip final '/'
Use get_script_prefix to play nicely if not installed at the root.
...
Conflicts:
rest_framework/decorators.py
Diffstat (limited to 'djangorestframework/generics.py')
| -rw-r--r-- | djangorestframework/generics.py | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/djangorestframework/generics.py b/djangorestframework/generics.py deleted file mode 100644 index 5815b73a..00000000 --- a/djangorestframework/generics.py +++ /dev/null @@ -1,113 +0,0 @@ -""" -Generic views that provide commmonly needed behaviour. -""" - -from djangorestframework import views, mixins -from django.views.generic.detail import SingleObjectMixin -from django.views.generic.list import MultipleObjectMixin - - -### Base classes for the generic views ### - -class BaseView(views.APIView): - """ - Base class for all other generic views. - """ - serializer_class = None - - def get_serializer(self, data=None, files=None, instance=None): - # TODO: add support for files - # TODO: add support for seperate serializer/deserializer - context = { - 'request': self.request, - 'format': self.kwargs.get('format', None) - } - return self.serializer_class(data, instance=instance, context=context) - - -class MultipleObjectBaseView(MultipleObjectMixin, BaseView): - """ - Base class for generic views onto a queryset. - """ - pass - - -class SingleObjectBaseView(SingleObjectMixin, BaseView): - """ - Base class for generic views onto a model instance. - """ - - def get_object(self): - """ - Override default to add support for object-level permissions. - """ - obj = super(SingleObjectBaseView, self).get_object() - self.check_permissions(self.request, obj) - return obj - - -### Concrete view classes that provide method handlers ### -### by composing the mixin classes with a base view. ### - -class ListAPIView(mixins.ListModelMixin, - mixins.MetadataMixin, - MultipleObjectBaseView): - """ - Concrete view for listing a queryset. - """ - def get(self, request, *args, **kwargs): - return self.list(request, *args, **kwargs) - - def options(self, request, *args, **kwargs): - return self.metadata(request, *args, **kwargs) - - -class RootAPIView(mixins.ListModelMixin, - mixins.CreateModelMixin, - mixins.MetadataMixin, - MultipleObjectBaseView): - """ - Concrete view for listing a queryset or creating a model instance. - """ - def get(self, request, *args, **kwargs): - return self.list(request, *args, **kwargs) - - def post(self, request, *args, **kwargs): - return self.create(request, *args, **kwargs) - - def options(self, request, *args, **kwargs): - return self.metadata(request, *args, **kwargs) - - -class DetailAPIView(mixins.RetrieveModelMixin, - mixins.MetadataMixin, - SingleObjectBaseView): - """ - Concrete view for retrieving a model instance. - """ - def get(self, request, *args, **kwargs): - return self.retrieve(request, *args, **kwargs) - - def options(self, request, *args, **kwargs): - return self.metadata(request, *args, **kwargs) - - -class InstanceAPIView(mixins.RetrieveModelMixin, - mixins.UpdateModelMixin, - mixins.DestroyModelMixin, - mixins.MetadataMixin, - SingleObjectBaseView): - """ - Concrete view for retrieving, updating or deleting a model instance. - """ - def get(self, request, *args, **kwargs): - return self.retrieve(request, *args, **kwargs) - - def put(self, request, *args, **kwargs): - return self.update(request, *args, **kwargs) - - def delete(self, request, *args, **kwargs): - return self.destroy(request, *args, **kwargs) - - def options(self, request, *args, **kwargs): - return self.metadata(request, *args, **kwargs) |
