diff options
| author | Brian Rosner <brosner@gmail.com> | 2008-10-28 20:03:56 +0000 |
|---|---|---|
| committer | Brian Rosner <brosner@gmail.com> | 2008-10-28 20:03:56 +0000 |
| commit | 38d9b0919bb07f4dcfcf22a9013b1a711f54ab89 (patch) | |
| tree | d60379ee21966a5271ee60927acf666f8eae2a22 /tests/modeltests/model_formsets | |
| parent | 84216ef05e6099235559a9a018bf4e0ad6ecff70 (diff) | |
[0.5.X] Fixed #9462 -- Set the instance in an inline formset correctly so that None does not get passed through to the queryset. Thanks tobias and copelco for the ticket.
Backport of r9293 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9294 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/modeltests/model_formsets')
| -rw-r--r-- | tests/modeltests/model_formsets/models.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/modeltests/model_formsets/models.py b/tests/modeltests/model_formsets/models.py index 3c97931595..215f35b59a 100644 --- a/tests/modeltests/model_formsets/models.py +++ b/tests/modeltests/model_formsets/models.py @@ -107,6 +107,17 @@ class Membership(models.Model): date_joined = models.DateTimeField(default=datetime.datetime.now) karma = models.IntegerField() +# models for testing a null=True fk to a parent +class Team(models.Model): + name = models.CharField(max_length=100) + +class Player(models.Model): + team = models.ForeignKey(Team, null=True) + name = models.CharField(max_length=100) + + def __unicode__(self): + return self.name + __test__ = {'API_TESTS': """ >>> from datetime import date @@ -701,4 +712,19 @@ False >>> formset.is_valid() True +# inlineformset_factory tests with fk having null=True. see #9462. +# create some data that will exbit the issue +>>> team = Team.objects.create(name=u"Red Vipers") +>>> Player(name="Timmy").save() +>>> Player(name="Bobby", team=team).save() + +>>> PlayerInlineFormSet = inlineformset_factory(Team, Player) +>>> formset = PlayerInlineFormSet() +>>> formset.get_queryset() +[] + +>>> formset = PlayerInlineFormSet(instance=team) +>>> formset.get_queryset() +[<Player: Bobby>] + """} |
