summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-02-07 18:05:14 -0500
committerSimon Charette <charette.s@gmail.com>2016-02-08 09:59:27 -0500
commita325fb1f9b14b46288d0e1342407be4a6db2bdb1 (patch)
tree1bad7cf9bcb30033b502e4cc991aaea44d941021 /tests/invalid_models_tests
parent7fa8aea8dd971df9c055dae11d9d95b07320d7af (diff)
Fixed #26162 -- Checked query name clashes of hidden relationships.
Although reverse accessor clashes should be skipped query name can't be hidden. Thanks to Ian Foote and Tim Graham for the review.
Diffstat (limited to 'tests/invalid_models_tests')
-rw-r--r--tests/invalid_models_tests/test_relative_fields.py36
1 files changed, 30 insertions, 6 deletions
diff --git a/tests/invalid_models_tests/test_relative_fields.py b/tests/invalid_models_tests/test_relative_fields.py
index ba0354d5e1..9734e82631 100644
--- a/tests/invalid_models_tests/test_relative_fields.py
+++ b/tests/invalid_models_tests/test_relative_fields.py
@@ -1008,45 +1008,69 @@ class ExplicitRelatedNameClashTests(SimpleTestCase):
@isolate_apps('invalid_models_tests')
class ExplicitRelatedQueryNameClashTests(SimpleTestCase):
- def test_fk_to_integer(self):
+ def test_fk_to_integer(self, related_name=None):
self._test_explicit_related_query_name_clash(
target=models.IntegerField(),
relative=models.ForeignKey('Target',
models.CASCADE,
+ related_name=related_name,
related_query_name='clash'))
- def test_fk_to_fk(self):
+ def test_hidden_fk_to_integer(self, related_name=None):
+ self.test_fk_to_integer(related_name='+')
+
+ def test_fk_to_fk(self, related_name=None):
self._test_explicit_related_query_name_clash(
target=models.ForeignKey('Another', models.CASCADE),
relative=models.ForeignKey('Target',
models.CASCADE,
+ related_name=related_name,
related_query_name='clash'))
- def test_fk_to_m2m(self):
+ def test_hidden_fk_to_fk(self):
+ self.test_fk_to_fk(related_name='+')
+
+ def test_fk_to_m2m(self, related_name=None):
self._test_explicit_related_query_name_clash(
target=models.ManyToManyField('Another'),
relative=models.ForeignKey('Target',
models.CASCADE,
+ related_name=related_name,
related_query_name='clash'))
- def test_m2m_to_integer(self):
+ def test_hidden_fk_to_m2m(self):
+ self.test_fk_to_m2m(related_name='+')
+
+ def test_m2m_to_integer(self, related_name=None):
self._test_explicit_related_query_name_clash(
target=models.IntegerField(),
relative=models.ManyToManyField('Target',
+ related_name=related_name,
related_query_name='clash'))
- def test_m2m_to_fk(self):
+ def test_hidden_m2m_to_integer(self):
+ self.test_m2m_to_integer(related_name='+')
+
+ def test_m2m_to_fk(self, related_name=None):
self._test_explicit_related_query_name_clash(
target=models.ForeignKey('Another', models.CASCADE),
relative=models.ManyToManyField('Target',
+ related_name=related_name,
related_query_name='clash'))
- def test_m2m_to_m2m(self):
+ def test_hidden_m2m_to_fk(self):
+ self.test_m2m_to_fk(related_name='+')
+
+ def test_m2m_to_m2m(self, related_name=None):
self._test_explicit_related_query_name_clash(
target=models.ManyToManyField('Another'),
relative=models.ManyToManyField('Target',
+ related_name=related_name,
related_query_name='clash'))
+ def test_hidden_m2m_to_m2m(self):
+ self.test_m2m_to_m2m(related_name='+')
+
def _test_explicit_related_query_name_clash(self, target, relative):
class Another(models.Model):
pass