Hello, I just found what I think is a couple of bugs in Generic Views:
First: in the class MultipleObjectMixin, in the file django/views/generic/list.py there is a couple of methods that i think have a possible bug or missbehavior: lines 65/101 def get_context_object_name(self, object_list): """ Get the name of the item to be used in the context. """ if self.context_object_name: return self.context_object_name elif hasattr(object_list, 'model'): return smart_str(object_list.model._meta.verbose_name_plural) else: return None def get_context_data(self, **kwargs): """ Get the context for this view. """ queryset = kwargs.pop('object_list') page_size = self.get_paginate_by(queryset) if page_size: paginator, page, queryset, is_paginated = self.paginate_queryset(queryset, page_size) context = { 'paginator': paginator, 'page_obj': page, 'is_paginated': is_paginated, 'object_list': queryset } else: context = { 'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': queryset } context.update(kwargs) context_object_name = self.get_context_object_name(queryset) if context_object_name is not None: context[context_object_name] = queryset return context The problem here is: If i don't set a context_object_name in my app, the method get_context_object_name puts a name based in the verbose_name_plural of my model's name but in the method get_context_data, ithe queryset is set twice, first as 'object_list' and then with the generated name. Querysets being lazy, this is not really a problem in templates, but if I want to serialize that context generated by get_context_data (to create a generic view that outputs results in json), I will load the data twice and that could be a problem. Any Opinions? Second: In the edit,py file (django/views/generic) the class ModelFormMixin inherits from FormMixin and the methods form_invalid from both classes are the same code: return self.render_to_response(self.get_context_data(form=form)) I think the method from ModelFormMixin just should call super from FormMixin, like in form_valid, but perhaps this is intentional. Regards, -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.