I agree that this is not documented as well as it could be.
The overview of class-based generic views says this:
Various useful things are stored on self; as well as the request (self.request) this includes the positional (self.args) and name-based (self.kwargs) arguments captured according to the URLconf.
Then, the reference documentation lists the attributes created for each specific view. Under DetailView
, for example, it says:
While this view is executing, self.object will contain the object that the view is operating upon.
Another reference you might want to consult is Classy Class-Based Views.