Подтвердить что ты не робот

Как обрабатывать разрешения для каждого объекта в Django в настоящее время?

Я собирался использовать django-guardian, пока не нашел в официальной документации следующее:

https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#handling-authorization-in-custom-backends

Разрешения могут быть установлены не только для каждого типа объекта, но и для конкретного экземпляра объекта. Используя методы has_add_permission(), has_change_permission() и has_delete_permission(), предоставляемые классом ModelAdmin, можно настроить разрешения для разных экземпляров объекта того же типа.

Означает ли это, что django-guardian больше не нужен с более новыми версиями Django?

Просьба пояснить.

4b9b3361

Ответ 1

В самом деле, читая документы, я был взволнован тем, что Django будет обслуживать "на проверку прав объекта" из коробки, особенно в admin, и что было бы вопросом времени, чтобы понять, как я могу активировать его.

Однако это, похоже, не всегда будет в этом случае.

Django несомненно, стремится предоставить основания (API) для такой реализации, но для этой реализации иногда требуются хорошие навыки кодирования и понимание Django.

Это разработчик, который получит эти инструменты вместе создание приложения, соответствующее его потребностям. Это может быть легко или... не так просто!

Эта противоречивая информация формирует базу для моего веб-сканирования, которая фокусируется на поиске решения проблем с правами на объекты, как-то... эффективно для моих потребностей или масштаба проекта и, конечно же, моих собственных навыков кодирования и понимания Django до настоящего времени.

Django-guardian, по-видимому, является самым надежным, полноценным полномасштабным приложением для этой цели.

Существуют также другие более легкие приложения django, которые также отвечают конкретным потребностям, которые также стабильны по производительности.

Пытаясь свести концы с концами в этом каком-то сложном квесте, я склоняюсь к использованию django-rules для его простого и сосредоточенного на моих потребностях функционирование.