o que on_delete faz nos modelos do Django?

Eu estou bastante familiarizado com o Django, mas recentemente notei que existe umaon_delete=models.CASCADE opção com os modelos, procurei a documentação para o mesmo, mas não consegui encontrar nada além de:

Alterado no Django 1.9:

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

um exemplo de caso de uso é

from django.db import models

class Car(models.Model):
    manufacturer = models.ForeignKey(
        'Manufacturer',
        on_delete=models.CASCADE,
    )
    # ...

class Manufacturer(models.Model):
    # ...
    pass

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

O quemodels.CASCADE Faz? (alguma dica na documentação)

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

Onde reside a documentação para isso?

questionAnswers(5)

yourAnswerToTheQuestion