docs: def complex_filter(self, filter_obj):
          """
          Returns a new QuerySet instance with filter_obj added to the filters.
  
          filter_obj can be a Q object (or anything with an add_to_query()
          method) or a dictionary of keyword lookup arguments.
  
          This exists to support framework features such as 'limit_choices_to',
          and usually it will be more natural to use other methods.
          """
          if isinstance(filter_obj, Filter):
              clone = self._clone()
              clone._filters.add(filter_obj)
              return clone
          return self._filter_or_exclude(None, **filter_obj)