Source code for parasolr.django.queryset

"""
Provides :class:`~parasolr.query.SolrQuerySet` subclasses that
will automatically use :class:`~parasolr.django.SolrClient` if
no solr client is passed on.
"""

import logging
from typing import Optional

from parasolr import query
from parasolr.django.util import requires_django

# SolrClient needed for type annotation when testing without django
from parasolr.solr.client import SolrClient

try:
    from parasolr.django.solrclient import SolrClient

    django = True
except ImportError:
    django = None


logger = logging.getLogger(__name__)


[docs]@requires_django class SolrQuerySet(query.SolrQuerySet): """:class:`~parasolr.query.SolrQuerySet` subclass that will automatically use :class:`~parasolr.django.SolrClient` if no solr client is passed on. Args: Optional :class:`parasolr.solr.client.SolrClient` """ def __init__(self, solr: Optional[SolrClient] = None): # use passed-in solr client if there is one; # otherwise, initialize a django solr client super().__init__(solr or SolrClient())
[docs]@requires_django class AliasedSolrQuerySet(SolrQuerySet, query.AliasedSolrQuerySet): """Combination of :class:`SolrQuerySet` and :class:`~parasolr.query.alias_queryset.AliasedSolrQuerySet`"""