@property
    def filter_options(self):
        if hasattr(self, '_filter_options'):
            return self._filter_options

        slugs = self.view.kwargs[self.view_kwarg].split('/')
        id_map, unresolved = Identifier.objects.resolve(
            slugs, exclude_apps=self.exclude_apps
        )
        options = {}
        if unresolved:
            options['extra'] = []
            for key, items in unresolved.items():
                if len(items) > 0:
                    raise Exception(
                        "Could not resolve %s to a single item!" % key
                    )
                options['extra'].append(key)

        if id_map:
            for slug, ident in id_map.items():
                ctype = ident.content_type.model
                if ctype not in options:
                    options[ctype] = []
                options[ctype].append(ident)

        self._filter_options = options
        return options
dataset/ETHPy150Open wq/wq.db/patterns/identify/filters.py/IdentifierFilterBackend.filter_options/original