docs: def query_entries(
      queryset=None,
      year=None, month=None, day=None,
      category=None, category_slug=None,
      tag=None, tag_slug=None,
      author=None, author_slug=None,
      future=False,
      order=None,
      orderby=None,
      limit=None,
  ):
      """
      Query the entries using a set of predefined filters.
      This interface is mainly used by the ``get_entries`` template tag.
      """
      if queryset is None:
          queryset = get_entry_model().objects.all()
  
      if appsettings.FLUENT_BLOGS_FILTER_SITE_ID:
          queryset = queryset.parent_site(settings.SITE_ID)
  
      if not future:
          queryset = queryset.published()
  
      if year:
          queryset = queryset.filter(publication_date__year=year)
      if month:
          queryset = queryset.filter(publication_date__month=month)
      if day:
          queryset = queryset.filter(publication_date__day=day)
  
      # The main category/tag/author filters
      if category:
          if isinstance(category, basestring):
              queryset = queryset.categories(category)
          elif isinstance(category, (int, long)):
              queryset = queryset.filter(categories=category)
          else:
              raise ValueError("Expected slug or ID for the 'category' parameter")
      if category_slug:
          queryset = queryset.categories(category)
  
      if tag:
          if isinstance(tag, basestring):
              queryset = queryset.tagged(tag)
          elif isinstance(tag, (int, long)):
              queryset = queryset.filter(tags=tag)
          else:
              raise ValueError("Expected slug or ID for 'tag' parameter.")
      if tag_slug:
          queryset = queryset.tagged(tag)
  
      if author:
          if isinstance(author, basestring):
              queryset = queryset.authors(author)
          elif isinstance(author, (int, long)):
              queryset = queryset.filter(author=author)
          else:
              raise ValueError("Expected slug or ID for 'author' parameter.")
      if author_slug:
          queryset = queryset.authors(author_slug)
  
      # Ordering
      if orderby:
          queryset = queryset.order_by(*_get_order_by(order, orderby, ENTRY_ORDER_BY_FIELDS))
      else:
          queryset = queryset.order_by('-publication_date')
  
      # Limit
      if limit:
          queryset = queryset[:limit]
  
      return queryset