diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2010-10-20 00:21:47 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2010-10-20 00:21:47 +0000 |
| commit | a014ee02888d2fcea6880bef51f143632a60aab3 (patch) | |
| tree | abd57b0f7c11585df0588bb162bcf4aa389cd058 /django | |
| parent | 46c17654ed60ee43920406d61eae06a90d15af4d (diff) | |
Modified the implementation of get_object() to be consistent with the approach used elsewhere in the API. Also added documentation for get_object() which seems to have been accidentally omitted.
This is a BACKWARDS-INCOMPATIBLE CHANGE for anyone depending on the API for get_object() that was introduced (but not documented) in r14254.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14292 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/views/generic/dates.py | 4 | ||||
| -rw-r--r-- | django/views/generic/detail.py | 6 | ||||
| -rw-r--r-- | django/views/generic/edit.py | 10 |
3 files changed, 11 insertions, 9 deletions
diff --git a/django/views/generic/dates.py b/django/views/generic/dates.py index fe40b15580..74293f27a7 100644 --- a/django/views/generic/dates.py +++ b/django/views/generic/dates.py @@ -443,7 +443,7 @@ class BaseDateDetailView(YearMixin, MonthMixin, DayMixin, DateMixin, BaseDetailV Detail view of a single object on a single date; this differs from the standard DetailView by accepting a year/month/day in the URL. """ - def get_object(self, queryset=None, **kwargs): + def get_object(self, queryset=None): """ Get the object this request displays. """ @@ -469,7 +469,7 @@ class BaseDateDetailView(YearMixin, MonthMixin, DayMixin, DateMixin, BaseDetailV lookup = _date_lookup_for_field(field, date) qs = qs.filter(**lookup) - return super(BaseDetailView, self).get_object(queryset=qs, **kwargs) + return super(BaseDetailView, self).get_object(queryset=qs) diff --git a/django/views/generic/detail.py b/django/views/generic/detail.py index 55b8e6055e..e75dd77409 100644 --- a/django/views/generic/detail.py +++ b/django/views/generic/detail.py @@ -14,7 +14,7 @@ class SingleObjectMixin(object): slug_field = 'slug' context_object_name = None - def get_object(self, pk=None, slug=None, queryset=None, **kwargs): + def get_object(self, queryset=None): """ Returns the object the view is displaying. @@ -27,6 +27,8 @@ class SingleObjectMixin(object): queryset = self.get_queryset() # Next, try looking up by primary key. + pk = self.kwargs.get('pk', None) + slug = self.kwargs.get('slug', None) if pk is not None: queryset = queryset.filter(pk=pk) @@ -92,7 +94,7 @@ class SingleObjectMixin(object): class BaseDetailView(SingleObjectMixin, View): def get(self, request, **kwargs): - self.object = self.get_object(**kwargs) + self.object = self.get_object() context = self.get_context_data(object=self.object) return self.render_to_response(context) diff --git a/django/views/generic/edit.py b/django/views/generic/edit.py index f45a468ad6..1a361efd43 100644 --- a/django/views/generic/edit.py +++ b/django/views/generic/edit.py @@ -2,8 +2,8 @@ from django.forms import models as model_forms from django.core.exceptions import ImproperlyConfigured from django.http import HttpResponseRedirect from django.views.generic.base import TemplateResponseMixin, View -from django.views.generic.detail import (SingleObjectMixin, - SingleObjectTemplateResponseMixin, BaseDetailView) +from django.views.generic.detail import (SingleObjectMixin, + SingleObjectTemplateResponseMixin, BaseDetailView) class FormMixin(object): @@ -191,11 +191,11 @@ class BaseUpdateView(ModelFormMixin, ProcessFormView): Using this base class requires subclassing to provide a response mixin. """ def get(self, request, *args, **kwargs): - self.object = self.get_object(**kwargs) + self.object = self.get_object() return super(BaseUpdateView, self).get(request, *args, **kwargs) def post(self, request, *args, **kwargs): - self.object = self.get_object(**kwargs) + self.object = self.get_object() return super(BaseUpdateView, self).post(request, *args, **kwargs) # PUT is a valid HTTP verb for creating (with a known URL) or editing an @@ -218,7 +218,7 @@ class DeletionMixin(object): success_url = None def delete(self, request, *args, **kwargs): - self.object = self.get_object(**kwargs) + self.object = self.get_object() self.object.delete() return HttpResponseRedirect(self.get_success_url()) |
