diff options
| author | Luke Plant <L.Plant.98@cantab.net> | 2011-09-30 10:41:25 +0000 |
|---|---|---|
| committer | Luke Plant <L.Plant.98@cantab.net> | 2011-09-30 10:41:25 +0000 |
| commit | 5009e45dfe366ebf520eecb49d72d5a11cee1623 (patch) | |
| tree | 0c71b07ea7f799db8eafab3274dcb521e420547a /tests/regressiontests | |
| parent | 2eadc418aff64790eb5b8d06ac995c720c233e49 (diff) | |
Fixed #14270 - related manager classes should be cached
Thanks to Alex Gaynor for the report and initial patch, and mrmachine for
more work on it.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16916 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
| -rw-r--r-- | tests/regressiontests/m2m_regress/tests.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/regressiontests/m2m_regress/tests.py b/tests/regressiontests/m2m_regress/tests.py index 7bf2381a91..9ae888a6ce 100644 --- a/tests/regressiontests/m2m_regress/tests.py +++ b/tests/regressiontests/m2m_regress/tests.py @@ -73,3 +73,17 @@ class M2MRegressionTests(TestCase): self.assertQuerysetEqual(c1.tags.all(), ["<Tag: t1>", "<Tag: t2>"]) self.assertQuerysetEqual(t1.tag_collections.all(), ["<TagCollection: c1>"]) + + def test_manager_class_caching(self): + e1 = Entry.objects.create() + e2 = Entry.objects.create() + t1 = Tag.objects.create() + t2 = Tag.objects.create() + + # Get same manager twice in a row: + self.assertTrue(t1.entry_set.__class__ is t1.entry_set.__class__) + self.assertTrue(e1.topics.__class__ is e1.topics.__class__) + + # Get same manager for different instances + self.assertTrue(e1.topics.__class__ is e2.topics.__class__) + self.assertTrue(t1.entry_set.__class__ is t2.entry_set.__class__) |
