fixed get_context_data() would never pull event from an Hanchan Model.
This commit is contained in:
@@ -37,14 +37,14 @@ class EventDetailMixin(object):
|
|||||||
|
|
||||||
:return: TemplateContext object"""
|
:return: TemplateContext object"""
|
||||||
context = super(EventDetailMixin, self).get_context_data(**kwargs)
|
context = super(EventDetailMixin, self).get_context_data(**kwargs)
|
||||||
if hasattr(self, 'event'):
|
if getattr(self, 'event'):
|
||||||
context['event'] = self.event
|
context['event'] = self.event
|
||||||
elif hasattr(self, 'object') and isinstance(self.object, models.Event):
|
elif isinstance(getattr(self, 'object'), models.Event):
|
||||||
context['event'] = self.object
|
context['event'] = self.object
|
||||||
elif hasattr(self, 'object') and hasattr(self.object, 'event'):
|
elif getattr(getattr(self, 'object'), 'event'):
|
||||||
context['event'] = self.object.event
|
context['event'] = self.object.event
|
||||||
else:
|
else:
|
||||||
print("No Event in Context!")
|
raise ImproperlyConfigured("No Event in Context!")
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
@@ -55,11 +55,21 @@ class EventDetailMixin(object):
|
|||||||
"""
|
"""
|
||||||
if self.model == models.Event:
|
if self.model == models.Event:
|
||||||
self.event = get_object_or_404(models.Event, pk=self.kwargs['pk'])
|
self.event = get_object_or_404(models.Event, pk=self.kwargs['pk'])
|
||||||
queryset = self.model.objects.all()
|
queryset = self.model._default_manager.all()
|
||||||
else:
|
elif self.kwargs.get('event'):
|
||||||
self.event = get_object_or_404(models.Event,
|
self.event = get_object_or_404(
|
||||||
pk=self.kwargs['event'])
|
models.Event,
|
||||||
|
pk=self.kwargs['event'])
|
||||||
queryset = self.model.objects.filter(event=self.event)
|
queryset = self.model.objects.filter(event=self.event)
|
||||||
|
elif self.model:
|
||||||
|
queryset = self.model._default_manager.all()
|
||||||
|
else:
|
||||||
|
raise ImproperlyConfigured(
|
||||||
|
"%(cls)s is missing a QuerySet. Define "
|
||||||
|
"%(cls)s.model, %(cls)s.queryset, or override "
|
||||||
|
"%(cls)s.get_queryset()." % {
|
||||||
|
'cls': self.__class__.__name__
|
||||||
|
})
|
||||||
return queryset.prefetch_related()
|
return queryset.prefetch_related()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user