Co robi on_delete w modelach Django?

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

Jestem dość dobrze zaznajomiony z Django, ale ostatnio zauważyłem, że istnieje opcja on_delete=models.CASCADE z modelami. Szukałem dokumentacji do tego samego, ale nie mogłem znajdź coś więcej niż:

Zmieniono w Django 1.9:

on_delete może być teraz używany jako drugi pozycyjny argument (wcześniej był zwykle przekazywany tylko jako argument słowa kluczowego). Będzie to wymagany argument w Django 2.0.

Przykładowy przypadek użycia to:

z django.db import models class Car(models.Model): producent = modele. ForeignKey( "Manufacturer", on_delete=models.CASCADE, ) # ... class Producent(models.Model): # ... pass 

Co robi on_delete? (Wydaje mi się, że działania, które należy wykonać, jeśli model zostanie usunięty.)

Co robi models.CASCADE? (wszelkie wskazówki w dokumentacji)

Jakie inne opcje są dostępne (jeśli moje przypuszczenia są poprawne)?

Gdzie dokumentacji dla tej rezydencji?