Django: Как ограничить доступ к представлениям на основе более чем одного условия
Я уже использую UserPassesTestMixin с 1 test_func (как показано в приведенном ниже фрагменте из comments/views.py). Я хотел бы включить еще одно условие, которое основано на булевом поле в модели пользователя: is_creator (фрагмент ниже из accounts/models.py).
# comments/views.py
class CommentUpdateView(LoginRequiredMixin, UserPassesTestMixin, UpdateView): # new
model = Comment
fields = (
"body",
)
template_name = "comments/comment_update.html"
def test_func(self):
return self.request.user == self.object.owner
# accounts/models.py
class CustomUser(AbstractUser):
is_creator = models.BooleanField(default=False)
Я знаю, что могу создать пользовательский декоратор (представление функции)/миксины (представления класса) и наложить его на представление, к которому я хочу добавить ограничение, но мне интересно, есть ли у меня другие варианты.
Заранее спасибо!