Если мы ограничим поля в форме оригинальной модели, тогда мы не сможем предоставить полный доступ другим пользователям. Затем мы и создаём прокси-модель, чтобы была возможность дать доступ к оригинальной модели с формой, где все поля разрешены.
Посмотрел, что за get_form такой, увы он не документирован и придётся переопределять метод на 30 строк, я не совсем комфортно себя в таких случах чувствую.
А для просмотра/редактирования только своих записей этот подход годится? Я реализовывал через создание ещё одной админки, в которой перезначался queryset и т. п.
В user permission же. То есть, если я правильно понял, прокси-модель появится там наряду с обычными моделями.
Я сам не пробовал, но думаю, что должно получиться.
По умолчанию он возвращает self.readonly_fields, но его можно переопределить.
Это даст даже большую гибкость — например если для статьи добавить поле author, то его можно сравнивать с request.user. Свою статью можно редактировать полностью, а для чужих только теги.
Если Obj is None — значит пользователь создает новый объект
> Для любой модели любого приложения вы можете разрешить пользователю три действия: добавлять новые объекты, редактировать и удалять существующие объекты.
Здесь, скорее, нужно говорить о том, что три права создаются по умолчанию. В Meta::permissions модели можно задать любой набор прав и на одно из них завязать ограниченное редактирование.
Ограничиваем интерфейс редактирования с помощью прокси-моделей