Здравствуйте хочу что бы при входе какого либо элемента в админке, я мог распечатывать pdf документ, вот и решил воспользоваться easy_pdf вот как это выглядит

 url(r'^pdf/(.+)/$', wrap(PDFView.as_view()), name='pdf'),

тоесть если я перехожу по этому адресу http://127.0.0.1:8000/admin/assinc/grain_weight/pdf/2/ то попадаю на данный url, но есть одно но, мне нужно что бы в зависимости от url документ менялся, значит как я думаю мне нужно получить значение последней секции урла в данном случае 2 и вытащить соответствующие значения из базы, поэтому решил воспользоваться DetailView

class PDFView(PDFTemplateView, DetailView):
template_name="hello.html"
context_object_name = 'Pdf'
def render_to_response(self, context, **response_kwargs):
    return super(PDFView, self).render_to_response(context, **response_kwargs)

так как сам не могу это реализовать и поэтому нужно както воспользваться рабочими примерами, но в каторый раз натыкаюсь что все начинает срабатывать вот с этой функции def get(): так и не понял где это прописано что она запускается как входная функция, ну вот хочу получить объект self.object

class BaseDetailView(SingleObjectMixin, View):
"""
A base view for displaying a single object
"""
def get(self, request, *args, **kwargs):
    self.object = self.get_object()
    context = self.get_context_data(object=self.object)
    return self.render_to_response(context)

как видно это вот

self.object = self.get_object()

метод self.get_object() находится в классе SingleObjectMixin

def get_context_data(self, **kwargs):
    """
    Insert the single object into the context dict.
    """
    context = {}
    if self.object:
        context['object'] = self.object
        context_object_name = self.get_context_object_name(self.object)
        if context_object_name:
            context[context_object_name] = self.object
    context.update(kwargs)
    return super(SingleObjectMixin, self).get_context_data(**context)

и в итоге получаю в браузере 'PDFView' object has no attribute 'object' пытаюсь поставить значение в ручную, так ради отладки или посмотреть логику

def get(self, request, *args, **kwargs):
    self.object = 3
    context = self.get_context_data(object=self.object)
    return self.render_to_response(context)

в итоге ничего не выходит, хотя по идее должно же прокатить, здесь же если пишу руками то ошибка пропадает

 def get_context_data(self, **kwargs):
    """
    Insert the single object into the context dict.
    """
    context = {}
     self.object = 3
    if self.object:
        context['object'] = self.object
        context_object_name = self.get_context_object_name(self.object)
        if context_object_name:
            context[context_object_name] = self.object
    context.update(kwargs)
    return super(SingleObjectMixin, self).get_context_data(**context)