summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2006-06-20 05:29:19 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2006-06-20 05:29:19 +0000
commita513fcb455c31e574821e966cd199efca52edd6d (patch)
treeabb8bffcc04d994e5033d01ca7bd1025b04a4636 /tests/regressiontests
parent76448d0c4bc820400cce544cf78427f9c1349f19 (diff)
Added regressions tests to ensure that one-to-one and many-to-many fields
continue to interact properly. Refs #1064. Refs #1506. git-svn-id: http://code.djangoproject.com/svn/django/trunk@3176 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/__init__.py0
-rw-r--r--tests/regressiontests/one_to_one_regress/__init__.py0
-rw-r--r--tests/regressiontests/one_to_one_regress/models.py37
3 files changed, 37 insertions, 0 deletions
diff --git a/tests/regressiontests/__init__.py b/tests/regressiontests/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/regressiontests/__init__.py
diff --git a/tests/regressiontests/one_to_one_regress/__init__.py b/tests/regressiontests/one_to_one_regress/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/regressiontests/one_to_one_regress/__init__.py
diff --git a/tests/regressiontests/one_to_one_regress/models.py b/tests/regressiontests/one_to_one_regress/models.py
new file mode 100644
index 0000000000..6cc1df4e5c
--- /dev/null
+++ b/tests/regressiontests/one_to_one_regress/models.py
@@ -0,0 +1,37 @@
+from django.db import models
+
+class Place(models.Model):
+ name = models.CharField(maxlength=50)
+ address = models.CharField(maxlength=80)
+
+ def __str__(self):
+ return "%s the place" % self.name
+
+class Restaurant(models.Model):
+ place = models.OneToOneField(Place)
+ serves_hot_dogs = models.BooleanField()
+ serves_pizza = models.BooleanField()
+
+ def __str__(self):
+ return "%s the restaurant" % self.place.name
+
+class Favorites(models.Model):
+ name = models.CharField(maxlength = 50)
+ restaurants = models.ManyToManyField(Restaurant)
+
+ def __str__(self):
+ return "Favorites for %s" % self.name
+
+API_TESTS = """
+# Regression test for #1064 and #1506: Check that we create models via the m2m
+# relation if the remote model has a OneToOneField.
+>>> p1 = Place(name='Demon Dogs', address='944 W. Fullerton')
+>>> p1.save()
+>>> r = Restaurant(place=p1, serves_hot_dogs=True, serves_pizza=False)
+>>> r.save()
+>>> f = Favorites(name = 'Fred')
+>>> f.save()
+>>> f.restaurants = [r]
+>>> f.restaurants.all()
+[<Restaurant: Demon Dogs the restaurant>]
+"""