summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests
diff options
context:
space:
mode:
authorAnderson Resende <andersonresende86@gmail.com>2016-07-08 20:37:40 -0300
committerTim Graham <timograham@gmail.com>2016-07-08 19:37:40 -0400
commitba53da894fc713629ae4d3fbdd14eff98c808389 (patch)
treeaedcf7b7d1234b8a82e26e7fe7cc32255ae5160e /tests/invalid_models_tests
parent8a4f017f4565c51c83aabb61a816e334e8638432 (diff)
Fixed #26796 -- Added a system check for m2m fields with ignored limit_choices_to.
Diffstat (limited to 'tests/invalid_models_tests')
-rw-r--r--tests/invalid_models_tests/test_relative_fields.py27
1 files changed, 21 insertions, 6 deletions
diff --git a/tests/invalid_models_tests/test_relative_fields.py b/tests/invalid_models_tests/test_relative_fields.py
index 96d3f7815f..f42d6a5365 100644
--- a/tests/invalid_models_tests/test_relative_fields.py
+++ b/tests/invalid_models_tests/test_relative_fields.py
@@ -181,7 +181,18 @@ class RelativeFieldTests(SimpleTestCase):
name = models.CharField(max_length=20)
class ModelM2M(models.Model):
- m2m = models.ManyToManyField(Model, null=True, validators=[''])
+ m2m = models.ManyToManyField(
+ Model,
+ null=True,
+ validators=[''],
+ limit_choices_to={'name': 'test_name'},
+ through='ThroughModel',
+ through_fields=('modelm2m', 'model'),
+ )
+
+ class ThroughModel(models.Model):
+ model = models.ForeignKey('Model', models.CASCADE)
+ modelm2m = models.ForeignKey('ModelM2M', models.CASCADE)
errors = ModelM2M.check()
field = ModelM2M._meta.get_field('m2m')
@@ -191,15 +202,19 @@ class RelativeFieldTests(SimpleTestCase):
'null has no effect on ManyToManyField.',
obj=field,
id='fields.W340',
- )
- ]
- expected.append(
+ ),
DjangoWarning(
'ManyToManyField does not support validators.',
obj=field,
id='fields.W341',
- )
- )
+ ),
+ DjangoWarning(
+ 'limit_choices_to has no effect on ManyToManyField '
+ 'with a through model.',
+ obj=field,
+ id='fields.W343',
+ ),
+ ]
self.assertEqual(errors, expected)