diff options
| author | Justin Bronn <jbronn@gmail.com> | 2008-08-05 17:15:33 +0000 |
|---|---|---|
| committer | Justin Bronn <jbronn@gmail.com> | 2008-08-05 17:15:33 +0000 |
| commit | aa239e3e5405933af6a29dac3cf587b59a099927 (patch) | |
| tree | ea2cbd139c9a8cf84c09e0b2008bff70e05927ef /tests/regressiontests/model_inheritance_regress/models.py | |
| parent | 45b73c9a4685809236f84046cc7ffd32a50db958 (diff) | |
gis: Merged revisions 7981-8001,8003-8011,8013-8033,8035-8036,8038-8039,8041-8063,8065-8076,8078-8139,8141-8154,8156-8214 via svnmerge from trunk.archive/attic/gis
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@8215 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/model_inheritance_regress/models.py')
| -rw-r--r-- | tests/regressiontests/model_inheritance_regress/models.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/regressiontests/model_inheritance_regress/models.py b/tests/regressiontests/model_inheritance_regress/models.py index b78b493e15..716c7f5ad8 100644 --- a/tests/regressiontests/model_inheritance_regress/models.py +++ b/tests/regressiontests/model_inheritance_regress/models.py @@ -43,12 +43,22 @@ class ParkingLot(Place): def __unicode__(self): return u"%s the parking lot" % self.name +class Supplier(models.Model): + restaurant = models.ForeignKey(Restaurant) + class Parent(models.Model): created = models.DateTimeField(default=datetime.datetime.now) class Child(Parent): name = models.CharField(max_length=10) +class SelfRefParent(models.Model): + parent_data = models.IntegerField() + self_data = models.ForeignKey('self', null=True) + +class SelfRefChild(SelfRefParent): + child_data = models.IntegerField() + __test__ = {'API_TESTS':""" # Regression for #7350, #7202 # Check that when you create a Parent object with a specific reference to an @@ -159,4 +169,29 @@ Traceback (most recent call last): ... DoesNotExist: ItalianRestaurant matching query does not exist. +# Regression test for #6755 +>>> r = Restaurant(serves_pizza=False) +>>> r.save() +>>> r.id == r.place_ptr_id +True +>>> orig_id = r.id +>>> r = Restaurant(place_ptr_id=orig_id, serves_pizza=True) +>>> r.save() +>>> r.id == orig_id +True +>>> r.id == r.place_ptr_id +True + +# Regression test for #7488. This looks a little crazy, but it's the equivalent +# of what the admin interface has to do for the edit-inline case. +>>> Supplier.objects.filter(restaurant=Restaurant(name='xx', address='yy')) +[] + +# Regression test for #7853 +# If the parent class has a self-referential link, make sure that any updates +# to that link via the child update the right table. + +>>> obj = SelfRefChild.objects.create(child_data=37, parent_data=42) +>>> obj.delete() + """} |
