diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2006-06-23 04:37:00 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2006-06-23 04:37:00 +0000 |
| commit | 0d4b5b9b4a203b98676d800544bbd877a5208bd6 (patch) | |
| tree | 8a4829dad29527a3d5f56355f4511370e8232dd5 /tests/regressiontests | |
| parent | bc2d8cdbc6d923dedc153949fb3a97e0cdd0c43d (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__.py | 0 | ||||
| -rw-r--r-- | tests/regressiontests/string_lookup/models.py | 48 |
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> + +""" |
