In my DetailView - I call get_object more than once because I use it in the test_func for UserPassesTestMixin.
Is there a way to prevent firing the query twice? Can I store the value of get_object somehow so that it can be used in the test_func as well as the get_context_data function?
Since you’re using a class based view, a good candidact would be the CBV instance itself
self.something = get_object(foo=bar)
get_object is called by
get in a
DetailView (actually, from the
def get(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
So as @leandrodesouzadev points out, you can use that first line (
self.object = self.get_object()) in your
test_func, then override the
get method with the above function with the
self.object = ... line removed.