Посмотрите на ForeignKey документы. Там написано:
Когда объект, на который ссылается ForeignKey, удаляется, Django по умолчанию эмулирует поведение ограничения SQL ON DELETE CASCADE, а также удаляет объект, содержащий ForeignKey. Это поведение можно изменить, указав аргумент on_delete.
Таким образом, по умолчанию используется каскадное удаление, но вы можете изменить его, указав что-то вроде этого:
class Foobar(models.Model):
user = models.ForeignKey(User, on_delete=models.SET(User.objects.get_or_create(username="foooobarrrr")[0]))