diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2009-11-05 11:57:28 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2009-11-05 11:57:28 +0000 |
| commit | 7b63d3d3b4fcf58070ced8e7a8c766cc93a26420 (patch) | |
| tree | f6c5050197281a38e4cc6ee279e6b80c39f276ca /tests | |
| parent | 77abadfa6a2bd015308602c70cecbfabedd3f08e (diff) | |
Fixed #12168 -- Corrected the registration of m2m autocreated models when models.py is split into submodules. Thanks to Jens Diemer for the report and test case.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11724 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/modeltests/model_package/__init__.py | 1 | ||||
| -rw-r--r-- | tests/modeltests/model_package/models/__init__.py | 3 | ||||
| -rw-r--r-- | tests/modeltests/model_package/models/article.py | 10 | ||||
| -rw-r--r-- | tests/modeltests/model_package/models/publication.py | 7 | ||||
| -rw-r--r-- | tests/modeltests/model_package/tests.py | 34 |
5 files changed, 55 insertions, 0 deletions
diff --git a/tests/modeltests/model_package/__init__.py b/tests/modeltests/model_package/__init__.py new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/tests/modeltests/model_package/__init__.py @@ -0,0 +1 @@ + diff --git a/tests/modeltests/model_package/models/__init__.py b/tests/modeltests/model_package/models/__init__.py new file mode 100644 index 0000000000..91e1b02e7d --- /dev/null +++ b/tests/modeltests/model_package/models/__init__.py @@ -0,0 +1,3 @@ +# Import all the models from subpackages +from article import Article +from publication import Publication diff --git a/tests/modeltests/model_package/models/article.py b/tests/modeltests/model_package/models/article.py new file mode 100644 index 0000000000..c8fae1c72d --- /dev/null +++ b/tests/modeltests/model_package/models/article.py @@ -0,0 +1,10 @@ +from django.db import models +from django.contrib.sites.models import Site + +class Article(models.Model): + sites = models.ManyToManyField(Site) + headline = models.CharField(max_length=100) + publications = models.ManyToManyField("model_package.Publication", null=True, blank=True,) + + class Meta: + app_label = 'model_package' diff --git a/tests/modeltests/model_package/models/publication.py b/tests/modeltests/model_package/models/publication.py new file mode 100644 index 0000000000..4dc2d6a148 --- /dev/null +++ b/tests/modeltests/model_package/models/publication.py @@ -0,0 +1,7 @@ +from django.db import models + +class Publication(models.Model): + title = models.CharField(max_length=30) + + class Meta: + app_label = 'model_package' diff --git a/tests/modeltests/model_package/tests.py b/tests/modeltests/model_package/tests.py new file mode 100644 index 0000000000..6e8c158a68 --- /dev/null +++ b/tests/modeltests/model_package/tests.py @@ -0,0 +1,34 @@ +""" +>>> from models.publication import Publication +>>> from models.article import Article +>>> from django.contrib.auth.views import Site + +>>> p = Publication(title="FooBar") +>>> p.save() +>>> p +<Publication: Publication object> + +>>> from django.contrib.sites.models import Site +>>> current_site = Site.objects.get_current() +>>> current_site +<Site: example.com> + +# Regression for #12168: models split into subpackages still get M2M tables + +>>> a = Article(headline="a foo headline") +>>> a.save() +>>> a.publications.add(p) +>>> a.sites.add(current_site) +>>> a.save() + +>>> a = Article.objects.get(id=1) +>>> a +<Article: Article object> +>>> a.id +1 +>>> a.sites.count() +1 + +""" + + |
