code: def _filter_or_exclude(self, negate, *args, **kwargs):
          
          from .models import Translation
  
          new_args = self.get_cleaned_args(args)
          new_kwargs = self.get_cleaned_kwargs(kwargs)
  
          translation_args = self.get_translation_args(args)
          translation_kwargs = self.get_translation_kwargs(kwargs)
  
          has_linguist_args = self.has_linguist_args(args)
          has_linguist_kwargs = self.has_linguist_kwargs(kwargs)
  
          if translation_args or translation_kwargs:
              ids = list(
                  set(
                      Translation.objects.filter(
                          *translation_args, **translation_kwargs
                      ).values_list("object_id", flat=True)
                  )
              )
              if ids:
                  new_kwargs["id__in"] = ids
  
          has_kwargs = has_linguist_kwargs and not (new_kwargs or new_args)
          has_args = has_linguist_args and not (new_args or new_kwargs)
  
          # No translations but we looked for translations?
          # Returns empty queryset.
          if has_kwargs or has_args:
              return self._clone().none()
  
          return super(QuerySetMixin, self)._filter_or_exclude(
              negate, *new_args, **new_kwargs
          )
docs: Overrides default behavior to handle linguist fields.