mirror of
https://github.com/django/django.git
synced 2025-11-07 07:15:35 +00:00
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
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user