From c74504c2dd21974571ab72805fbfc8d4d76ce151 Mon Sep 17 00:00:00 2001 From: Jay Leadbetter Date: Thu, 14 Nov 2013 19:26:19 -0700 Subject: Fixed #20522 - Allowed use of partially validated object in ModelAdmin.add_view formset validation. Updated ModelAdmin to use form.instance when passing parent model to child inlines for add_view. There is effectively no change in the change_view since the previously passed 'obj' is the same as form.instance. Thanks to meshy for report, and EvilDMP and timo for review. --- tests/admin_views/models.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests/admin_views/models.py') diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py index e0e2a6fc08..b517530952 100644 --- a/tests/admin_views/models.py +++ b/tests/admin_views/models.py @@ -712,6 +712,26 @@ class Choice(models.Model): choices=((1, 'Yes'), (0, 'No'), (None, 'No opinion'))) +class ParentWithDependentChildren(models.Model): + """ + Issue #20522 + Model where the validation of child foreign-key relationships depends + on validation of the parent + """ + some_required_info = models.PositiveIntegerField() + family_name = models.CharField(max_length=255, blank=False) + + +class DependentChild(models.Model): + """ + Issue #20522 + Model that depends on validation of the parent class for one of its + fields to validate during clean + """ + parent = models.ForeignKey(ParentWithDependentChildren) + family_name = models.CharField(max_length=255) + + class _Manager(models.Manager): def get_queryset(self): return super(_Manager, self).get_queryset().filter(pk__gt=1) -- cgit v1.3