Loading django/forms/models.py +1 −1 Original line number Diff line number Diff line Loading @@ -831,7 +831,7 @@ class BaseInlineFormSet(BaseModelFormSet): self.save_as_new = save_as_new if queryset is None: queryset = self.model._default_manager if self.instance.pk: if self.instance.pk is not None: qs = queryset.filter(**{self.fk.name: self.instance}) else: qs = queryset.none() Loading docs/releases/1.6.1.txt +2 −0 Original line number Diff line number Diff line Loading @@ -26,3 +26,5 @@ Bug fixes for the non-breaking space was returned verbatim (#21415). * Fixed :djadmin:`loaddata` error when fixture file name contained any dots non related to file extensions (#21457). * Fixed display of inline instances in formsets when parent has 0 for primary key (#21472). tests/inline_formsets/tests.py +10 −1 Original line number Diff line number Diff line from __future__ import absolute_import, unicode_literals from django.forms.models import inlineformset_factory from django.test import TestCase from django.test import TestCase, skipUnlessDBFeature from django.utils import six from .models import Poet, Poem, School, Parent, Child Loading Loading @@ -157,3 +157,12 @@ class InlineFormsetFactoryTest(TestCase): inlineformset_factory( Parent, Child, exclude=('school',), fk_name='mother' ) @skipUnlessDBFeature('allows_primary_key_0') def test_zero_primary_key(self): # Regression test for #21472 poet = Poet.objects.create(id=0, name='test') poem = poet.poem_set.create(name='test poem') PoemFormSet = inlineformset_factory(Poet, Poem, fields="__all__", extra=0) formset = PoemFormSet(None, instance=poet) self.assertEqual(len(formset.forms), 1) Loading
django/forms/models.py +1 −1 Original line number Diff line number Diff line Loading @@ -831,7 +831,7 @@ class BaseInlineFormSet(BaseModelFormSet): self.save_as_new = save_as_new if queryset is None: queryset = self.model._default_manager if self.instance.pk: if self.instance.pk is not None: qs = queryset.filter(**{self.fk.name: self.instance}) else: qs = queryset.none() Loading
docs/releases/1.6.1.txt +2 −0 Original line number Diff line number Diff line Loading @@ -26,3 +26,5 @@ Bug fixes for the non-breaking space was returned verbatim (#21415). * Fixed :djadmin:`loaddata` error when fixture file name contained any dots non related to file extensions (#21457). * Fixed display of inline instances in formsets when parent has 0 for primary key (#21472).
tests/inline_formsets/tests.py +10 −1 Original line number Diff line number Diff line from __future__ import absolute_import, unicode_literals from django.forms.models import inlineformset_factory from django.test import TestCase from django.test import TestCase, skipUnlessDBFeature from django.utils import six from .models import Poet, Poem, School, Parent, Child Loading Loading @@ -157,3 +157,12 @@ class InlineFormsetFactoryTest(TestCase): inlineformset_factory( Parent, Child, exclude=('school',), fk_name='mother' ) @skipUnlessDBFeature('allows_primary_key_0') def test_zero_primary_key(self): # Regression test for #21472 poet = Poet.objects.create(id=0, name='test') poem = poet.poem_set.create(name='test poem') PoemFormSet = inlineformset_factory(Poet, Poem, fields="__all__", extra=0) formset = PoemFormSet(None, instance=poet) self.assertEqual(len(formset.forms), 1)