mirror of
https://github.com/django/django.git
synced 2025-10-24 22:26:08 +00:00
Fixed #24689 -- Fixed DetailView methods with deferred QuerySet.
This commit is contained in:
committed by
Tim Graham
parent
0f2e82b9ec
commit
86aaffa5a3
@@ -89,6 +89,8 @@ class SingleObjectMixin(ContextMixin):
|
||||
if self.context_object_name:
|
||||
return self.context_object_name
|
||||
elif isinstance(obj, models.Model):
|
||||
if self.object._deferred:
|
||||
obj = obj._meta.proxy_for_model
|
||||
return obj._meta.model_name
|
||||
else:
|
||||
return None
|
||||
@@ -149,9 +151,12 @@ class SingleObjectTemplateResponseMixin(TemplateResponseMixin):
|
||||
# The least-specific option is the default <app>/<model>_detail.html;
|
||||
# only use this if the object in question is a model.
|
||||
if isinstance(self.object, models.Model):
|
||||
object_meta = self.object._meta
|
||||
if self.object._deferred:
|
||||
object_meta = self.object._meta.proxy_for_model._meta
|
||||
names.append("%s/%s%s.html" % (
|
||||
self.object._meta.app_label,
|
||||
self.object._meta.model_name,
|
||||
object_meta.app_label,
|
||||
object_meta.model_name,
|
||||
self.template_name_suffix
|
||||
))
|
||||
elif hasattr(self, 'model') and self.model is not None and issubclass(self.model, models.Model):
|
||||
|
||||
Reference in New Issue
Block a user