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)

Я знаю, что могу создать пользовательский декоратор (представление функции)/миксины (представления класса) и наложить его на представление, к которому я хочу добавить ограничение, но мне интересно, есть ли у меня другие варианты.

Заранее спасибо!

Вернуться на верх