que o on_delete faz nos modelos do Django?

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

Estou bastante familiarizado com o Django, mas recentemente notei que existe uma opção on_delete=models.CASCADE com os modelos. Procurei a documentação do mesmo, mas não consegui encontre algo mais que:

Alterado no Django 1.9:

on_delete agora pode ser usado como o segundo posicional argumento (anteriormente, era normalmente passado apenas como um argumento de palavra-chave). Será um argumento obrigatório no Django 2.0.

Um exemplo de uso é:

de django.db import models class Car(models.Model): fabricante = models. ForeignKey( "Fabricante", on_delete=models.CASCADE, ) # ... class Manufacturer(models.Model): # ... pass 

O que on_delete faz? (Acho que as ações a serem feitas se o modelo for excluído.)

O que models.CASCADE faz? (qualquer dica na documentação)

Quais outras opções estão disponíveis (se meu palpite estiver correto)?

Onde o documentação para este residente?