Как отфильтровать модели из боковой панели администратора Django, сохранив их на форме дочерней страницы изменений?

У меня есть установка, которая выглядит следующим образом: enter image description here

Поскольку "Благотворительные организации" и "Вмешательства" не предназначены для редактирования, кроме как со страницы "Оценки" и "Гранты фонда Max Impact", я не хочу, чтобы они отображались в меню на панели навигации. Я порылся в недрах Django в поисках способа сделать это, и наименее сложный способ, который я смог найти, это переписать функцию django.contrib.admin.AdminSite.get_app_list таким образом, чтобы после того, как она соберет массив app_list, я изменил на месте элемент, содержащий модели, чтобы удалить нарушающие правила два.

Две проблемы с этим: 1) это невероятно халтурно и 2) это на самом деле не работает - в итоге я получаю пустой navbar с сообщением, что у меня нет разрешения на изменение каких-либо объектов (я подтвердил, что пост-модификация app_list имеет остальные элементы).

Мне кажется, что, возможно, существует какой-то тривиальный подход вроде "определить переменную app_navbar_models, чтобы иметь список исключений на одном из ваших объектов администратора", но я не нашел такого подхода ни на StackOverflow, ни в коде Django. Может я что-то упустил?

Вернуться на верх