def __call__(self, document):
        if self.dotpath in ('pk', '_pk'):
            return
        try:
            value = document.dot_notation(self.dotpath)
        except (KeyError, IndexError):
            return
        
        if value is None:
            return #TODO proper handling
        if isinstance(value, (list, set)):
            for val in value:
                self.index_creator(document.pk, self.name, val)
        else:
            self.index_creator(document.pk, self.name, value)
dataset/ETHPy150Open zbyte64/django-dockit/dockit/backends/djangodocument/indexers.py/Indexer.__call__/original