title: django modelmanager queryset not returning page
body: <p>I've been following the guidance in Two Scoops of Django and applying this to a re-write of my own apps.</p>
  <p>I have a model called Bookings with a ModelManager which filters to select only future dated bookings.  An extract is below but the relevant field is start_date.</p>
  <pre><code>guest_status = models.IntegerField('Guest status', choices=GuestStatus.choices, default=0)
  ack_date = models.DateField(verbose_name='Date acknowledged')
  start_date = models.DateField(verbose_name='Start date')
  end_date = models.DateField(verbose_name='End date')
  dep_recd = models.DateField(null=True, blank=True, verbose_name='Deposit received')
  bal_amount = models.IntegerField('Balance due', default=0)
  dep_amount = models.IntegerField('Deposit amount', default=0)
  sec_recd = models.IntegerField('Security deposit', choices=SecurityStatus.choices,                  default=0)
  bal_recd = models.DateField(null=True, blank=True, verbose_name='Balance received')
  keys_sent = models.DateField(null=True, blank=True, verbose_name='Date keys sent')
  sec_retn = models.DateField(null=True, blank=True, verbose_name='Security deposit returned')
  booking_status = models.IntegerField('Status', choices=BookingStatus.choices, default=0)
  booking_notes = models.TextField(blank=True, verbose_name='Notes')
  bkd_child = models.IntegerField('Children', default=0)
  bkd_adult = models.IntegerField('Adults', default=2)
  guest_one = models.CharField(blank=True, verbose_name='Guest 1', max_length=30)
  guest_two = models.CharField(blank=True, verbose_name='Guest 2', max_length=30)
  guest_three = models.CharField(blank=True, verbose_name='Guest 3', max_length=30)
  guest_three = models.CharField(blank=True, verbose_name='Guest 3', max_length=30)
  slug = AutoSlugField(unique=True, populate_from=get_populate_from)
  num_nights = models.IntegerField('Nights', default=0)
  
  objects = FutureBookings()
  </code></pre>
  <p>The ModelManager appears before the Bookings model:</p>
  <pre><code> class FutureBookings(models.Manager):
      def booked(self):
          return self.filter(start_date__gte=pendulum.now())
  </code></pre>
  <p>When I test this in shell_plus it works as it should do.  When I run the site however I get a 404:<br />
  Request Method:     GET
  Request URL:    <a href="http://127.0.0.1:8000/bookings/current/" rel="nofollow noreferrer">http://127.0.0.1:8000/bookings/current/</a>
  Raised by:  mariners3.bookings.views.BookingDetailView</p>
  <p>My views are:</p>
  <pre><code>class BookingListView(LoginRequiredMixin, ListView):
      model = Booking
          
  class BookingCurrentView(LoginRequiredMixin, ListView):
      model = Booking.objects.booked()
      template_name = 'bookings/booking_list_future.html'
      context_object_name = 'bookings_future'
      
  class BookingDetailView(LoginRequiredMixin, DetailView):
      model = Booking
  
  class BookingCreateView(LoginRequiredMixin, CreateView):
      model = Booking
      form_class = BookingCreateForm
  
      def form_valid(self, form):
          form.instance.creator = self.request.user
          return super().form_valid(form)
          
  class BookingUpdateView(LoginRequiredMixin, UpdateView):
      model = Booking
      form_class = BookingUpdateForm
      action = &quot;Update&quot;
  </code></pre>
  <p>and my urls are:</p>
  <pre><code>urlpatterns = [
  
      path(
          route='',
          view=views.BookingListView.as_view(),
          name='list'
      ),
  
      path(
          route='',
          view=views.BookingCurrentView.as_view(
          context_object_name = 'bookings_future',
          ),
          name='current'
          ),
      
      path(
          route='add/',
          view=views.BookingCreateView.as_view(),
          name='add'
  ),
  
      path(
          route='&lt;slug:slug&gt;/',
          view=views.BookingDetailView.as_view(),
          name='detail'
      ),
  
      path(
          route='&lt;slug:slug&gt;/update/',
          view=views.BookingUpdateView.as_view(),
          name='update'
  ),
  ]
  </code></pre>
  <p>My template is:</p>
  <pre><code>{% extends &quot;base.html&quot; %}
  
  {% block title %}Booking List{% endblock title %}
  
  {% block content %}
    &lt;h2&gt;Booking List&lt;/h2&gt;
  
  &lt;ul&gt;
      {% if object_list %}
          {% for booking in object_list %}
          &lt;li&gt;&lt;{{ booking.guest }}&lt;/li&gt;
          {% endfor %}
      {% endif %}
  &lt;/ul&gt;
  
  &lt;hr/&gt;
  &lt;p&gt;Don't see a Booking listed here?&lt;/p&gt;
  &lt;p&gt;
    &lt;a class=&quot;btn btn-primary&quot; 
          href=&quot;{% url 'bookings:update' %}&quot; role=&quot;button&quot;&gt;
      Add Booking
    &lt;/a&gt;
    &lt;/p&gt;
  
  {% endblock content %}
  </code></pre>
  <p>I can't see why booking:detail is included in the 404 as it isn't involved in the other parts of this query / page.  All of the other pages work as expected.</p>
  <p>Because the 404 (debugging version) gives no further information I commented out the BookingDetail view and URL (I'm using ListView, DetailView etc).  This changed the 404 message to say that no data could be found but the url paths were listed as they should have been.</p>
  <p>I've been puzzling over this for a day now and can't see what I've done wrong.  Any advice gratefully received.</p>