diff -r 2e0b0af889be -r a04b1e4126c4 thirdparty/google_appengine/lib/django/tests/modeltests/m2m_multiple/models.py --- a/thirdparty/google_appengine/lib/django/tests/modeltests/m2m_multiple/models.py Sun Sep 06 23:31:53 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +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. -""" - -from django.db import models - -class Category(models.Model): - name = models.CharField(maxlength=20) - class Meta: - ordering = ('name',) - - def __str__(self): - return self.name - -class Article(models.Model): - headline = models.CharField(maxlength=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 __str__(self): - return self.headline - -__test__ = {'API_TESTS':""" ->>> from datetime import datetime - ->>> c1 = Category(name='Sports') ->>> c1.save() ->>> c2 = Category(name='News') ->>> c2.save() ->>> c3 = Category(name='Crime') ->>> c3.save() ->>> c4 = Category(name='Life') ->>> c4.save() - ->>> a1 = Article(headline='Area man steals', pub_date=datetime(2005, 11, 27)) ->>> a1.save() ->>> a1.primary_categories.add(c2, c3) ->>> a1.secondary_categories.add(c4) - ->>> a2 = Article(headline='Area man runs', pub_date=datetime(2005, 11, 28)) ->>> a2.save() ->>> a2.primary_categories.add(c1, c2) ->>> a2.secondary_categories.add(c4) - ->>> a1.primary_categories.all() -[, ] - ->>> a2.primary_categories.all() -[, ] - ->>> a1.secondary_categories.all() -[] - - ->>> c1.primary_article_set.all() -[] ->>> c1.secondary_article_set.all() -[] ->>> c2.primary_article_set.all() -[, ] ->>> c2.secondary_article_set.all() -[] ->>> c3.primary_article_set.all() -[] ->>> c3.secondary_article_set.all() -[] ->>> c4.primary_article_set.all() -[] ->>> c4.secondary_article_set.all() -[, ] -"""}