Нужна тонкая настройка ограничений для юзера: максимальное кол-во статей, которое он может создавать, может ли он использовать некоторые флаги в модели статьи, может ли он копировать (создавать копию под себя по клику) чужие статьи.
Если писать ограничения через BasePermission и вставлять этот класс в вьюшки, то придется раскидывать эти ограничения на все вьюшки, а их может быть много + могут быть проблемы с кастомными вьюшками (APIView) на уровне объекта, т.е has_object_permission в APIView не работает (а если и работает, я не знаю как:) ) ну и следовательно придется писать эти ограничения уже отдельно под APIView.
Другой способ писать их под моделькой, в методе save или под классом meta. Тогда это будет работать в вьюшках и даже в админке, но все же думаю что есть вариант получше.
так вот вопрос в том, есть ли третий самый оптимальный способ? Или можно ли допилить первый способ, чтобы можно было использовать его в всех вьюшках?