diff options
author | Florian Apolloner <florian@apolloner.eu> | 2013-02-26 09:53:47 +0100 |
---|---|---|
committer | Florian Apolloner <florian@apolloner.eu> | 2013-02-26 14:36:57 +0100 |
commit | 89f40e36246100df6a11316c31a76712ebc6c501 (patch) | |
tree | 6e65639683ddaf2027908d1ecb1739e0e2ff853b /tests/mutually_referential | |
parent | b3d2ccb5bfbaf6e7fe1f98843baaa48c35a70950 (diff) | |
download | django-89f40e36246100df6a11316c31a76712ebc6c501.tar.gz |
Merged regressiontests and modeltests into the test root.
Diffstat (limited to 'tests/mutually_referential')
-rw-r--r-- | tests/mutually_referential/__init__.py | 0 | ||||
-rw-r--r-- | tests/mutually_referential/models.py | 20 | ||||
-rw-r--r-- | tests/mutually_referential/tests.py | 24 |
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/mutually_referential/__init__.py b/tests/mutually_referential/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/mutually_referential/__init__.py diff --git a/tests/mutually_referential/models.py b/tests/mutually_referential/models.py new file mode 100644 index 0000000000..0f1bd65cb1 --- /dev/null +++ b/tests/mutually_referential/models.py @@ -0,0 +1,20 @@ +""" +24. Mutually referential many-to-one relationships + +Strings can be used instead of model literals to set up "lazy" relations. +""" + +from django.db import models + + +class Parent(models.Model): + name = models.CharField(max_length=100) + + # Use a simple string for forward declarations. + bestchild = models.ForeignKey("Child", null=True, related_name="favoured_by") + +class Child(models.Model): + name = models.CharField(max_length=100) + + # You can also explicitally specify the related app. + parent = models.ForeignKey("mutually_referential.Parent") diff --git a/tests/mutually_referential/tests.py b/tests/mutually_referential/tests.py new file mode 100644 index 0000000000..b3deb0e75c --- /dev/null +++ b/tests/mutually_referential/tests.py @@ -0,0 +1,24 @@ +from __future__ import absolute_import + +from django.test import TestCase + +from .models import Parent + + +class MutuallyReferentialTests(TestCase): + + def test_mutually_referential(self): + # Create a Parent + q = Parent(name='Elizabeth') + q.save() + + # Create some children + c = q.child_set.create(name='Charles') + e = q.child_set.create(name='Edward') + + # Set the best child + # No assertion require here; if basic assignment and + # deletion works, the test passes. + q.bestchild = c + q.save() + q.delete() |