| 236 | self._facet_fieldnames = {} |
| 237 | |
| 238 | def build(self, indexes=None): |
| 239 | self.reset() |
| 240 | |
| 241 | if indexes is None: |
| 242 | indexes = self.collect_indexes() |
| 243 | |
| 244 | for index in indexes: |
| 245 | model = index.get_model() |
| 246 | |
| 247 | if model in self._indexes: |
| 248 | raise ImproperlyConfigured( |
| 249 | "Model '%s' has more than one 'SearchIndex`` handling it. " |
| 250 | "Please exclude either '%s' or '%s' using the 'EXCLUDED_INDEXES' " |
| 251 | "setting defined in 'settings.HAYSTACK_CONNECTIONS'." |
| 252 | % (model, self._indexes[model], index) |
| 253 | ) |
| 254 | |
| 255 | self._indexes[model] = index |
| 256 | self.collect_fields(index) |
| 257 | |
| 258 | self._built = True |
| 259 | |
| 260 | def collect_fields(self, index): |
| 261 | for fieldname, field_object in index.fields.items(): |