Django UserPassesTestMixin вызывает дублирование sql-запросов

Итак, в моем проекте Django у меня есть представление на основе классов, которое использует UserPassesTestMixin.
Внутри него я использую test_func для проверки принадлежности объекта пользователю (или администратору).
Но я вижу, что происходит дублирование SQL-запросов.
Я подозреваю, что это происходит из-за test_func, который имеет self.get_object. Посоветуйте, как избежать этого дублирования.
Вот мой взгляд:

class PostUpdateView(UserPassesTestMixin, UpdateView):
permission_denied_message = "Access for staff or profile owner!"

def test_func(self):
    return (
        self.request.user.is_staff
        or self.request.user.pk == self.get_object().author_id
    )

model = Post
queryset = Post.objects.all().select_related("author")
form_class = UpdatePostForm
template_name = "diary/post-update.html"

def form_valid(self, form):
    form.instance.author = self.request.user
    return super().form_valid(form)
Вернуться на верх