Нужно ли мне несколько пользовательских классов разрешений для разных типов объектов?
Для примера, у меня есть модель курса с сообществом в качестве внешнего ключа. В моем пользовательском классе разрешения has_object_permission я бы проверил
if UserCommunity.objects.filter(user=request.user, community=obj.community,role="admin").exists()
Разрешить доступ
Теперь у меня есть различные модели, например, пост курса, который имеет внешний ключ к курсу, и я могу получить доступ к сообществу по этому ключу курса.
Нужно ли создавать несколько пользовательских классов разрешений для этих разных объектов? Есть ли лучший способ.
Я назвал свой первый класс разрешения как IsCommunityAdminOrCreator, теперь все, что я могу себе представить, происходит
IsCommunityAdminOrCreatorCoursePost
IsCommunityAdminOrCreatorCourseChallenge
И так далее...