Каков наилучший способ авторизации на уровне строк в django с некоторыми ограничениями?
У меня есть приложение на django, которое состоит из нескольких различных моделей. Эти модели связаны друг с другом отношениями базы данных. И каким-то образом эти отношения образуют иерархию.
Например:
Model City can have multiple Libraries
Model Library can have multiple Books
Теперь я не могу иметь права доступа на уровне строки к отдельным экземплярам без связанных с ними инстансов. Это все равно что иметь право на просмотр определенной книги, но не библиотеки, к которой она принадлежит.
Так вот, я хочу иметь возможность определить разрешение на город, например, чтобы видеть все его библиотеки (но не книги). И, возможно, разрешение на просмотр всех библиотек и книг... и т. д...
Я думал о том, чтобы иметь систему авторизации на основе правил, чтобы обрабатывать все случаи, которые могут возникнуть, следуя набору правил (это каким-то образом умный и сохраняемый способ авторизации), но я боялся, что я переборщил, и может быть есть скрытый пакет, который я могу использовать в django, который эффективно решает эту проблему.