I just started to convert my small hobby-project into class-based views and struggled with similar things (but with a ListView instead).
The person object is in the context dictionary, so you need to refer to it by context['person'].
More generally, it is instructive to print context, kwargs and self.kwargs inside the get_context_data method. That would give you the information you need. It took me some time to realize that url-captured parameters are available in self.kwargs.
Per-Olof
On Tuesday, July 31, 2012 6:17:26 AM UTC+2, Lachlan Musicman wrote:
--Hola,I'm confused about adding extra content to a class based Generic View. I've readthe docs at file:///home/datakid/src/django-docs/topics/class- based-views.html and have written the code accordingly.I have Person, Certificate, Job and Compensation objects. The last three allhave an FK (or M2M) back to a (or some) Person(s).
My DetailView subclass (which I've put in views.py - is there a better or morecorrect place for it?)class PersonDetailView(DetailView):context_object_name = "person"model = Persondef get_context_data(self,**kwargs): #Call the base implementation first to get a contextcontext = super(PersonDetailView, self).get_context_data(**kwargs) #Add in a querysetscontext['job_list'] = Vacancy.complete.all()context['certificate_list'] = Certificate.objects.all()context['claim_list'] = Compensation.objects.all()return contextBut I don't want the full list of Vacancies, Certificates or Claims - I justwant those that are linked to the person - how can I filter by these? I've tried.filter(self.get_id).filter(self.request.get_id).filter(self.person.get_id).filter(self.request.person.get_id) .filter(applicants__get_id__exact=self.get_id) (in the case of Vacancy) etc How do I filter by the person object that is already in the context?I know the answer is simple - I should wait until tomorrow when my brain isfresher, but I want to finish this off tonight if possible.Of course, the other thing that I can't help but thinking is that at this point, the non-generic-view method of urls/views might be a simpler way to go. While Generic Views are quite versatile, is there a point at which they are considered to restricting?L.
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/6O_nqDwvAAEJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment