Django 1.2 имеет новые операторы if, что означает, что желаемая функция может быть получена только путем перезаписи admin / index.html.
{% if model.name not in "Name of hidden model; Name of other hidden model" %}
...
{% endif %}
Это плохое решение, потому что его не волнуют многоязычные администраторы. Конечно, вы можете добавить названия моделей на всех поддерживаемых языках. Это хорошее решение, потому что оно не перезаписывает более одного аспекта основных функций Django.
Но прежде чем что-то менять, я думаю, люди должны подумать об этом ...
По сути, проблема связана с тем, что у вас есть модели, которые нельзя использовать больше, чем для добавления опции в раскрывающийся список время от времени. Эту проблему можно эффективно обойти, создав набор разрешений для «не очень продвинутых» пользователей, которые паникуют, когда моделей слишком много. В случае, если требуются изменения в конкретных моделях, можно просто войти в систему с «расширенной учетной записью».