Add ModelViewSet.add_to_reference_index to allow opting out of the ReferenceIndex

pull/10777/head
Sage Abdullah 2023-08-16 11:22:49 +01:00
rodzic db49ae8c40
commit 65739c6925
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: EB1A33CC51CC0217
4 zmienionych plików z 13 dodań i 2 usunięć

Wyświetl plik

@ -11,7 +11,8 @@ By default, the index will store references between objects managed within the W
- all Page types
- Images
- Documents
- models registered as Snippets
- models registered as [Snippets](snippets)
- models registered with [`ModelViewSet`](../extending/generic_views)
- models registered with ModelAdmin
The reference index does not require any further configuration. However there are circumstances where it may be necessary to add or remove models from the index.

Wyświetl plik

@ -79,6 +79,7 @@ Viewsets are Wagtail's mechanism for defining a group of related admin views wit
Defaults to the title-cased version of the model's
:attr:`~django.db.models.Options.verbose_name_plural`.
.. autoattribute:: add_to_reference_index
.. autoattribute:: index_view_class
.. autoattribute:: add_view_class
.. autoattribute:: edit_view_class

Wyświetl plik

@ -43,3 +43,7 @@ depth: 1
## Upgrade considerations - deprecation of old functionality
## Upgrade considerations - changes affecting Wagtail customisations
### `ModelViewSet` automatically registers the model to the reference index
Models that are registered with a `ModelViewSet` now have reference index tracking enabled by default. This means that you no longer need to call `ReferenceIndex.register_model()` in your app's `ready()` method for such models. If this is undesired, you can disable it by setting {attr}`~wagtail.admin.viewsets.model.ModelViewSet.add_to_reference_index` to `False` on the `ModelViewSet` subclass. For more details, see [](managing_the_reference_index).

Wyświetl plik

@ -22,6 +22,10 @@ class ModelViewSet(ViewSet):
are available.
"""
#: Register the model to the reference index to track its usage.
#: For more details, see :ref:`managing_the_reference_index`.
add_to_reference_index = True
#: The view class to use for the index view; must be a subclass of ``wagtail.admin.views.generic.IndexView``.
index_view_class = generic.IndexView
@ -185,7 +189,8 @@ class ModelViewSet(ViewSet):
register_admin_url_finder(self.model, self.url_finder_class)
def register_reference_index(self):
ReferenceIndex.register_model(self.model)
if self.add_to_reference_index:
ReferenceIndex.register_model(self.model)
def get_urlpatterns(self):
return super().get_urlpatterns() + [