summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2006-06-23 04:37:00 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2006-06-23 04:37:00 +0000
commit0d4b5b9b4a203b98676d800544bbd877a5208bd6 (patch)
tree8a4829dad29527a3d5f56355f4511370e8232dd5 /tests/regressiontests
parentbc2d8cdbc6d923dedc153949fb3a97e0cdd0c43d (diff)
Fixed #1662 -- Added resolver for string-form model references for models that have already been loaded, with tests to validate both forward and backward referenced model names. Light refactoring of model loading to make regression tests behave more like normal model loading. Also clarifies the text of some validation errors.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3195 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/string_lookup/__init__.py0
-rw-r--r--tests/regressiontests/string_lookup/models.py48
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/regressiontests/string_lookup/__init__.py b/tests/regressiontests/string_lookup/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/regressiontests/string_lookup/__init__.py
diff --git a/tests/regressiontests/string_lookup/models.py b/tests/regressiontests/string_lookup/models.py
new file mode 100644
index 0000000000..7dd31f572d
--- /dev/null
+++ b/tests/regressiontests/string_lookup/models.py
@@ -0,0 +1,48 @@
+from django.db import models
+
+class Foo(models.Model):
+ name = models.CharField(maxlength=50)
+
+ def __str__(self):
+ return "Foo %s" % self.name
+
+class Bar(models.Model):
+ name = models.CharField(maxlength=50)
+ normal = models.ForeignKey(Foo, related_name='normal_foo')
+ fwd = models.ForeignKey("Whiz")
+ back = models.ForeignKey("Foo")
+
+ def __str__(self):
+ return "Bar %s" % self.place.name
+
+class Whiz(models.Model):
+ name = models.CharField(maxlength = 50)
+
+ def __str__(self):
+ return "Whiz %s" % self.name
+
+API_TESTS = """
+# Regression test for #1662: Check that string form referencing of models works, both as
+# pre and post reference
+
+>>> f1 = Foo(name="Foo1")
+>>> f1.save()
+>>> f2 = Foo(name="Foo1")
+>>> f2.save()
+
+>>> w1 = Whiz(name="Whiz1")
+>>> w1.save()
+
+>>> b1 = Bar(name="Bar1", normal=f1, fwd=w1, back=f2)
+>>> b1.save()
+
+>>> b1.normal
+<Foo: Foo Foo1>
+
+>>> b1.fwd
+<Whiz: Whiz Whiz1>
+
+>>> b1.back
+<Foo: Foo Foo1>
+
+"""