summaryrefslogtreecommitdiff
path: root/tests/regressiontests/model_inheritance_regress/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regressiontests/model_inheritance_regress/models.py')
-rw-r--r--tests/regressiontests/model_inheritance_regress/models.py35
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()
+
"""}