Django permissions view access только для одного разрешения в списке
У меня есть представление на основе класса Django, в котором я использую PermissionRequiredMixin. Я хочу, чтобы пользователь, имеющий хотя бы одно из разрешений в атрибуте permissions_required, мог получить доступ к представлению. Из документации Django:
Декоратор может также принимать итерацию разрешений, в этом случае пользователь должен иметь все разрешения, чтобы получить доступ к представлению.
Итак, если у User1 есть разрешение "add_polls", а у User2 - "change_polls", и у меня есть представление формы, позволяющее пользователю добавить опрос, и другое представление, позволяющее пользователю изменить опрос (с permissions_required="add_polls" и permissions_required="change_polls" на каждом из этих представлений, соответственно), это работает отлично. Но что если у меня есть промежуточная страница/вид, содержащая ссылки на оба этих вида с permissions_required = ("add_polls", "change_polls"), через которые пользователь должен сначала пройти? Теперь ни один из пользователей не сможет получить доступ к этой странице, потому что пользователи имеют доступ только к одному или другому разрешению, а не к обоим - если я правильно понимаю документацию, пользователю нужны ОБА этих разрешения, чтобы получить доступ к промежуточной странице. Если я дам обоим пользователям доступ к обоим этим разрешениям, чтобы они могли получить доступ к промежуточной странице, это даст им доступ к опросам добавления и изменения, чего я не хочу.
Нужно ли мне написать пользовательскую авторизацию для обработки этого, или я упускаю что-то простое?
Одним из возможных решений может быть создание еще одной привилегии - что-то вроде "interim-polls", которая будет разрешениями_требуемыми для промежуточного представления. Пользователю1 будут назначены "add-polls" и "interim-polls", а пользователю2 - "change-polls" и "interim-polls"
Это сработает, но есть ли более простой или интуитивно понятный способ, чем добавление дополнительных разрешений? Может быть, можно указать, что только один элемент в списке "permissions_required" требуется для доступа к форме, а не все? Например, разрешение1 ИЛИ разрешение2, а не разрешение1 И разрешение2, требуемые для доступа к представлению.
Спасибо за любое понимание.