summaryrefslogtreecommitdiff
path: root/parts/django/tests/modeltests/m2o_recursive
diff options
context:
space:
mode:
Diffstat (limited to 'parts/django/tests/modeltests/m2o_recursive')
-rw-r--r--parts/django/tests/modeltests/m2o_recursive/__init__.py0
-rw-r--r--parts/django/tests/modeltests/m2o_recursive/models.py28
-rw-r--r--parts/django/tests/modeltests/m2o_recursive/tests.py38
3 files changed, 0 insertions, 66 deletions
diff --git a/parts/django/tests/modeltests/m2o_recursive/__init__.py b/parts/django/tests/modeltests/m2o_recursive/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/parts/django/tests/modeltests/m2o_recursive/__init__.py
+++ /dev/null
diff --git a/parts/django/tests/modeltests/m2o_recursive/models.py b/parts/django/tests/modeltests/m2o_recursive/models.py
deleted file mode 100644
index ed9945a..0000000
--- a/parts/django/tests/modeltests/m2o_recursive/models.py
+++ /dev/null
@@ -1,28 +0,0 @@
-"""
-11. Relating an object to itself, many-to-one
-
-To define a many-to-one relationship between a model and itself, use
-``ForeignKey('self')``.
-
-In this example, a ``Category`` is related to itself. That is, each
-``Category`` has a parent ``Category``.
-
-Set ``related_name`` to designate what the reverse relationship is called.
-"""
-
-from django.db import models
-
-class Category(models.Model):
- name = models.CharField(max_length=20)
- parent = models.ForeignKey('self', blank=True, null=True, related_name='child_set')
-
- def __unicode__(self):
- return self.name
-
-class Person(models.Model):
- full_name = models.CharField(max_length=20)
- mother = models.ForeignKey('self', null=True, related_name='mothers_child_set')
- father = models.ForeignKey('self', null=True, related_name='fathers_child_set')
-
- def __unicode__(self):
- return self.full_name
diff --git a/parts/django/tests/modeltests/m2o_recursive/tests.py b/parts/django/tests/modeltests/m2o_recursive/tests.py
deleted file mode 100644
index 79dde8b..0000000
--- a/parts/django/tests/modeltests/m2o_recursive/tests.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from django.test import TestCase
-from models import Category, Person
-
-class ManyToOneRecursiveTests(TestCase):
-
- def setUp(self):
- self.r = Category(id=None, name='Root category', parent=None)
- self.r.save()
- self.c = Category(id=None, name='Child category', parent=self.r)
- self.c.save()
-
- def test_m2o_recursive(self):
- self.assertQuerysetEqual(self.r.child_set.all(),
- ['<Category: Child category>'])
- self.assertEqual(self.r.child_set.get(name__startswith='Child').id, self.c.id)
- self.assertEqual(self.r.parent, None)
- self.assertQuerysetEqual(self.c.child_set.all(), [])
- self.assertEqual(self.c.parent.id, self.r.id)
-
-class MultipleManyToOneRecursiveTests(TestCase):
-
- def setUp(self):
- self.dad = Person(full_name='John Smith Senior', mother=None, father=None)
- self.dad.save()
- self.mom = Person(full_name='Jane Smith', mother=None, father=None)
- self.mom.save()
- self.kid = Person(full_name='John Smith Junior', mother=self.mom, father=self.dad)
- self.kid.save()
-
- def test_m2o_recursive2(self):
- self.assertEqual(self.kid.mother.id, self.mom.id)
- self.assertEqual(self.kid.father.id, self.dad.id)
- self.assertQuerysetEqual(self.dad.fathers_child_set.all(),
- ['<Person: John Smith Junior>'])
- self.assertQuerysetEqual(self.mom.mothers_child_set.all(),
- ['<Person: John Smith Junior>'])
- self.assertQuerysetEqual(self.kid.mothers_child_set.all(), [])
- self.assertQuerysetEqual(self.kid.fathers_child_set.all(), [])