diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2006-05-02 01:31:56 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2006-05-02 01:31:56 +0000 |
| commit | f69cf70ed813a8cd7e1f963a14ae39103e8d5265 (patch) | |
| tree | d3b32e84cd66573b3833ddf662af020f8ef2f7a8 /tests/modeltests/m2o_recursive2/models.py | |
| parent | d5dbeaa9be359a4c794885c2e9f1b5a7e5e51fb8 (diff) | |
MERGED MAGIC-REMOVAL BRANCH TO TRUNK. This change is highly backwards-incompatible. Please read http://code.djangoproject.com/wiki/RemovingTheMagic for upgrade instructions.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2809 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/modeltests/m2o_recursive2/models.py')
| -rw-r--r-- | tests/modeltests/m2o_recursive2/models.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/modeltests/m2o_recursive2/models.py b/tests/modeltests/m2o_recursive2/models.py new file mode 100644 index 0000000000..40b842dc92 --- /dev/null +++ b/tests/modeltests/m2o_recursive2/models.py @@ -0,0 +1,43 @@ +""" +12. Relating a model to another model more than once + +In this example, a ``Person`` can have a ``mother`` and ``father`` -- both of +which are other ``Person`` objects. + +Set ``related_name`` to designate what the reverse relationship is called. +""" + +from django.db import models + +class Person(models.Model): + full_name = models.CharField(maxlength=20) + mother = models.ForeignKey('self', null=True, related_name='mothers_child_set') + father = models.ForeignKey('self', null=True, related_name='fathers_child_set') + + def __repr__(self): + return self.full_name + +API_TESTS = """ +# Create two Person objects -- the mom and dad in our family. +>>> dad = Person(full_name='John Smith Senior', mother=None, father=None) +>>> dad.save() +>>> mom = Person(full_name='Jane Smith', mother=None, father=None) +>>> mom.save() + +# Give mom and dad a kid. +>>> kid = Person(full_name='John Smith Junior', mother=mom, father=dad) +>>> kid.save() + +>>> kid.mother +Jane Smith +>>> kid.father +John Smith Senior +>>> dad.fathers_child_set.all() +[John Smith Junior] +>>> mom.mothers_child_set.all() +[John Smith Junior] +>>> kid.mothers_child_set.all() +[] +>>> kid.fathers_child_set.all() +[] +""" |
