diff options
Diffstat (limited to 'parts/django/tests/modeltests/m2m_multiple/models.py')
-rw-r--r-- | parts/django/tests/modeltests/m2m_multiple/models.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/parts/django/tests/modeltests/m2m_multiple/models.py b/parts/django/tests/modeltests/m2m_multiple/models.py new file mode 100644 index 0000000..e53f840 --- /dev/null +++ b/parts/django/tests/modeltests/m2m_multiple/models.py @@ -0,0 +1,30 @@ +""" +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 + |