diff options
Diffstat (limited to 'parts/django/tests/modeltests/m2m_multiple')
-rw-r--r-- | parts/django/tests/modeltests/m2m_multiple/__init__.py | 0 | ||||
-rw-r--r-- | parts/django/tests/modeltests/m2m_multiple/models.py | 30 | ||||
-rw-r--r-- | parts/django/tests/modeltests/m2m_multiple/tests.py | 84 |
3 files changed, 0 insertions, 114 deletions
diff --git a/parts/django/tests/modeltests/m2m_multiple/__init__.py b/parts/django/tests/modeltests/m2m_multiple/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/parts/django/tests/modeltests/m2m_multiple/__init__.py +++ /dev/null diff --git a/parts/django/tests/modeltests/m2m_multiple/models.py b/parts/django/tests/modeltests/m2m_multiple/models.py deleted file mode 100644 index e53f840..0000000 --- a/parts/django/tests/modeltests/m2m_multiple/models.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -20. Multiple many-to-many relationships between the same two tables - -In this example, an ``Article`` can have many "primary" ``Category`` objects -and many "secondary" ``Category`` objects. - -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) - class Meta: - ordering = ('name',) - - def __unicode__(self): - return self.name - -class Article(models.Model): - headline = models.CharField(max_length=50) - pub_date = models.DateTimeField() - primary_categories = models.ManyToManyField(Category, related_name='primary_article_set') - secondary_categories = models.ManyToManyField(Category, related_name='secondary_article_set') - class Meta: - ordering = ('pub_date',) - - def __unicode__(self): - return self.headline - diff --git a/parts/django/tests/modeltests/m2m_multiple/tests.py b/parts/django/tests/modeltests/m2m_multiple/tests.py deleted file mode 100644 index 1f4503a..0000000 --- a/parts/django/tests/modeltests/m2m_multiple/tests.py +++ /dev/null @@ -1,84 +0,0 @@ -from datetime import datetime - -from django.test import TestCase - -from models import Article, Category - - -class M2MMultipleTests(TestCase): - def test_multiple(self): - c1, c2, c3, c4 = [ - Category.objects.create(name=name) - for name in ["Sports", "News", "Crime", "Life"] - ] - - a1 = Article.objects.create( - headline="Area man steals", pub_date=datetime(2005, 11, 27) - ) - a1.primary_categories.add(c2, c3) - a1.secondary_categories.add(c4) - - a2 = Article.objects.create( - headline="Area man runs", pub_date=datetime(2005, 11, 28) - ) - a2.primary_categories.add(c1, c2) - a2.secondary_categories.add(c4) - - self.assertQuerysetEqual( - a1.primary_categories.all(), [ - "Crime", - "News", - ], - lambda c: c.name - ) - self.assertQuerysetEqual( - a2.primary_categories.all(), [ - "News", - "Sports", - ], - lambda c: c.name - ) - self.assertQuerysetEqual( - a1.secondary_categories.all(), [ - "Life", - ], - lambda c: c.name - ) - self.assertQuerysetEqual( - c1.primary_article_set.all(), [ - "Area man runs", - ], - lambda a: a.headline - ) - self.assertQuerysetEqual( - c1.secondary_article_set.all(), [] - ) - self.assertQuerysetEqual( - c2.primary_article_set.all(), [ - "Area man steals", - "Area man runs", - ], - lambda a: a.headline - ) - self.assertQuerysetEqual( - c2.secondary_article_set.all(), [] - ) - self.assertQuerysetEqual( - c3.primary_article_set.all(), [ - "Area man steals", - ], - lambda a: a.headline - ) - self.assertQuerysetEqual( - c3.secondary_article_set.all(), [] - ) - self.assertQuerysetEqual( - c4.primary_article_set.all(), [] - ) - self.assertQuerysetEqual( - c4.secondary_article_set.all(), [ - "Area man steals", - "Area man runs", - ], - lambda a: a.headline - ) |