Commit 118b1122 authored by Tim Graham's avatar Tim Graham
Browse files

Fixed #24263 -- Prevented extra queries on BaseDateDetailView with a custom queryset.

Thanks jekka-ua for the report and patch.
parent 9a391fbd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -648,7 +648,7 @@ class BaseDateDetailView(YearMixin, MonthMixin, DayMixin, DateMixin, BaseDetailV
                                 day, self.get_day_format())

        # Use a custom queryset if provided
        qs = queryset or self.get_queryset()
        qs = self.get_queryset() if queryset is None else queryset

        if not self.get_allow_future() and date > datetime.date.today():
            raise Http404(_(
+4 −0
Original line number Diff line number Diff line
@@ -638,6 +638,10 @@ class DateDetailViewTests(TestCase):
            '/dates/books/get_object_custom_queryset/2008/oct/01/1/')
        self.assertEqual(res.status_code, 404)

    def test_get_object_custom_queryset_numqueries(self):
        with self.assertNumQueries(1):
            self.client.get('/dates/books/get_object_custom_queryset/2006/may/01/2/')

    def test_datetime_date_detail(self):
        bs = BookSigning.objects.create(event_date=datetime.datetime(2008, 4, 2, 12, 0))
        res = self.client.get('/dates/booksignings/2008/apr/2/%d/' % bs.pk)