summaryrefslogtreecommitdiff
path: root/tests/testapp/models/m2m_multiple.py
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2006-05-02 01:31:56 +0000
committerAdrian Holovaty <adrian@holovaty.com>2006-05-02 01:31:56 +0000
commitf69cf70ed813a8cd7e1f963a14ae39103e8d5265 (patch)
treed3b32e84cd66573b3833ddf662af020f8ef2f7a8 /tests/testapp/models/m2m_multiple.py
parentd5dbeaa9be359a4c794885c2e9f1b5a7e5e51fb8 (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/testapp/models/m2m_multiple.py')
-rw-r--r--tests/testapp/models/m2m_multiple.py99
1 files changed, 0 insertions, 99 deletions
diff --git a/tests/testapp/models/m2m_multiple.py b/tests/testapp/models/m2m_multiple.py
deleted file mode 100644
index d8793acb73..0000000000
--- a/tests/testapp/models/m2m_multiple.py
+++ /dev/null
@@ -1,99 +0,0 @@
-"""
-20. Multiple many-to-many relationships between the same two tables
-
-In this example, an Article can have many Categories (as "primary") and many
-Categories (as "secondary").
-
-Set ``related_name`` to designate what the reverse relationship is called.
-
-Set ``singular`` to designate what the category object is called. This is
-required if a model has multiple ``ManyToManyFields`` to the same object.
-"""
-
-from django.core import meta
-
-class Category(meta.Model):
- name = meta.CharField(maxlength=20)
- class META:
- module_name = 'categories'
- ordering = ('name',)
-
- def __repr__(self):
- return self.name
-
-class Article(meta.Model):
- headline = meta.CharField(maxlength=50)
- pub_date = meta.DateTimeField()
- primary_categories = meta.ManyToManyField(Category,
- singular='primary_category', related_name='primary_article')
- secondary_categories = meta.ManyToManyField(Category,
- singular='secondary_category', related_name='secondary_article')
- class META:
- ordering = ('pub_date',)
-
- def __repr__(self):
- return self.headline
-
-API_TESTS = """
->>> from datetime import datetime
-
->>> c1 = categories.Category(name='Sports')
->>> c1.save()
->>> c2 = categories.Category(name='News')
->>> c2.save()
->>> c3 = categories.Category(name='Crime')
->>> c3.save()
->>> c4 = categories.Category(name='Life')
->>> c4.save()
-
->>> a1 = articles.Article(headline='Area man steals', pub_date=datetime(2005, 11, 27))
->>> a1.save()
->>> a1.set_primary_categories([c2.id, c3.id])
-True
->>> a1.set_secondary_categories([c4.id])
-True
-
->>> a2 = articles.Article(headline='Area man runs', pub_date=datetime(2005, 11, 28))
->>> a2.save()
->>> a2.set_primary_categories([c1.id, c2.id])
-True
->>> a2.set_secondary_categories([c4.id])
-True
-
-# The "primary_category" here comes from the "singular" parameter. If we hadn't
-# specified the "singular" parameter, Django would just use "category", which
-# would cause a conflict because the "primary_categories" and
-# "secondary_categories" fields both relate to Category.
->>> a1.get_primary_category_list()
-[Crime, News]
-
-# Ditto for the "primary_category" here.
->>> a2.get_primary_category_list()
-[News, Sports]
-
-# Ditto for the "secondary_category" here.
->>> a1.get_secondary_category_list()
-[Life]
-
-# Ditto for the "secondary_category" here.
->>> a2.get_secondary_category_list()
-[Life]
-
-
->>> c1.get_primary_article_list()
-[Area man runs]
->>> c1.get_secondary_article_list()
-[]
->>> c2.get_primary_article_list()
-[Area man steals, Area man runs]
->>> c2.get_secondary_article_list()
-[]
->>> c3.get_primary_article_list()
-[Area man steals]
->>> c3.get_secondary_article_list()
-[]
->>> c4.get_primary_article_list()
-[]
->>> c4.get_secondary_article_list()
-[Area man steals, Area man runs]
-"""