Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

[1.0.X] Fixed #9076 -- Changed BaseInlineFormSet to not override Base…

…ModelFormSet's get_queryset method. BaseInlineFormSet's method did not include a couple of fixes/enhancements that were made to the parent's method, resulting in excessive queries (some of which can return bad data due to #9006) for admin pages with inlines. Thanks bthomas for the initial patch.

r9440 from trunk.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent dbe18ce commit 385f2fe2b5b5589c443d5db928fda51482d59fce @kmtracey kmtracey committed
Showing with 3 additions and 9 deletions.
  1. +3 −9 django/forms/
12 django/forms/
@@ -463,7 +463,9 @@ def __init__(self, data=None, files=None, instance=None,
self.save_as_new = save_as_new
# is there a better way to get the object descriptor?
self.rel_name = RelatedObject(, self.model,
- super(BaseInlineFormSet, self).__init__(data, files, prefix=prefix or self.rel_name)
+ qs = self.model._default_manager.filter(**{ self.instance})
+ super(BaseInlineFormSet, self).__init__(data, files, prefix=prefix or self.rel_name,
+ queryset=qs)
def _construct_forms(self):
if self.save_as_new:
@@ -479,14 +481,6 @@ def _construct_form(self, i, **kwargs):[form.add_prefix(] = None
return form
- def get_queryset(self):
- """
- Returns this FormSet's queryset, but restricted to children of
- self.instance
- """
- kwargs = { self.instance}
- return self.model._default_manager.filter(**kwargs)
def save_new(self, form, commit=True):
kwargs = {}
new_obj = self.model(**kwargs)

0 comments on commit 385f2fe

Please sign in to comment.
Something went wrong with that request. Please try again.