In my ProductList classs, when I try to call get_context_data in another method, I get an error \'ProductList\' object has no attribute \'obj
You might be getting the error on following line in get_context_data() of the super class:
queryset = kwargs.pop('object_list', self.object_list)
The get method of BaseListView sets the object_list on the view by calling the get_queryset method:
self.object_list = self.get_queryset()
But, in your case, you are calling get_context_data() in get_queryset method itself and at that time object_list is not set on the view.