summaryrefslogtreecommitdiff
path: root/tests/regressiontests/app_loading
diff options
context:
space:
mode:
authorCarl Meyer <carl@oddbird.net>2011-04-27 15:46:43 +0000
committerCarl Meyer <carl@oddbird.net>2011-04-27 15:46:43 +0000
commitc85b765288b2c36c948493a99706550eaf41a0b5 (patch)
tree358dd76b5a7f35b9606b80006d69ce1822cc9638 /tests/regressiontests/app_loading
parent2f9c52dc900f9cf689af23fbe5b4947ef97a924f (diff)
Fixed #15903 -- Allowed not-installed models to still be referenced in related fields. Missed case from r16053.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16106 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/app_loading')
-rw-r--r--tests/regressiontests/app_loading/not_installed/models.py4
-rw-r--r--tests/regressiontests/app_loading/tests.py25
2 files changed, 27 insertions, 2 deletions
diff --git a/tests/regressiontests/app_loading/not_installed/models.py b/tests/regressiontests/app_loading/not_installed/models.py
index 615feefddb..f62235dfd5 100644
--- a/tests/regressiontests/app_loading/not_installed/models.py
+++ b/tests/regressiontests/app_loading/not_installed/models.py
@@ -3,3 +3,7 @@ from django.db import models
class NotInstalledModel(models.Model):
pass
+
+
+class RelatedModel(models.Model):
+ not_installed = models.ForeignKey(NotInstalledModel)
diff --git a/tests/regressiontests/app_loading/tests.py b/tests/regressiontests/app_loading/tests.py
index 6ee06c50c9..3036ab8c07 100644
--- a/tests/regressiontests/app_loading/tests.py
+++ b/tests/regressiontests/app_loading/tests.py
@@ -85,8 +85,8 @@ class EggLoadingTest(TestCase):
class GetModelsTest(TestCase):
def setUp(self):
- import not_installed.models
- self.not_installed_module = not_installed.models
+ from .not_installed import models
+ self.not_installed_module = models
def test_get_model_only_returns_installed_models(self):
@@ -94,6 +94,13 @@ class GetModelsTest(TestCase):
get_model("not_installed", "NotInstalledModel"), None)
+ def test_get_model_with_not_installed(self):
+ self.assertEqual(
+ get_model(
+ "not_installed", "NotInstalledModel", only_installed=False),
+ self.not_installed_module.NotInstalledModel)
+
+
def test_get_models_only_returns_installed_models(self):
self.assertFalse(
"NotInstalledModel" in
@@ -102,3 +109,17 @@ class GetModelsTest(TestCase):
def test_get_models_with_app_label_only_returns_installed_models(self):
self.assertEqual(get_models(self.not_installed_module), [])
+
+
+ def test_get_models_with_not_installed(self):
+ self.assertTrue(
+ "NotInstalledModel" in [
+ m.__name__ for m in get_models(only_installed=False)])
+
+
+class NotInstalledModelsTest(TestCase):
+ def test_related_not_installed_model(self):
+ from .not_installed.models import NotInstalledModel
+ self.assertEqual(
+ set(NotInstalledModel._meta.get_all_field_names()),
+ set(["id", "relatedmodel"]))