Wat doet on_delete op Django-modellen?

| | | | | | | | | | | | | |

Ik ben redelijk bekend met Django, maar ik heb onlangs gemerkt dat er een optie on_delete=models.CASCADE bestaat bij de modellen. Ik heb naar de documentatie hiervoor gezocht, maar ik kon het niet vind iets meer dan:

Gewijzigd in Django 1.9:

on_delete kan nu worden gebruikt als de tweede positionele argument (voorheen werd het meestal alleen doorgegeven als een trefwoordargument). Het is een verplicht argument in Django 2.0.

Een voorbeeld van gebruik is:

van django.db importeer modellenklasse Car(models.Model): fabrikant = modellen. ForeignKey( "Fabrikant", on_delete=models.CASCADE, ) # ... class Fabrikant(modellen.Model): # ... pass 

Wat doet on_delete? (Ik vermoed welke acties moeten worden ondernomen als het model wordt verwijderd.)

Wat doet modellen.CASCADE? (hints in documentatie)

Welke andere opties zijn beschikbaar (als mijn gok correct is)?

Waar komt de documentatie voor dit verblijf?