summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/modeltests/invalid_models/invalid_models/models.py15
-rw-r--r--tests/modeltests/invalid_models/tests.py2
2 files changed, 16 insertions, 1 deletions
diff --git a/tests/modeltests/invalid_models/invalid_models/models.py b/tests/modeltests/invalid_models/invalid_models/models.py
index 3f95d314e3..ccb6396352 100644
--- a/tests/modeltests/invalid_models/invalid_models/models.py
+++ b/tests/modeltests/invalid_models/invalid_models/models.py
@@ -303,13 +303,28 @@ class SwappedModel(models.Model):
References to this model *should* raise a validation error.
Requires TEST_SWAPPED_MODEL to be defined in the test environment;
this is guaranteed by the test runner using @override_settings.
+
+ The foreign keys and m2m relations on this model *shouldn't*
+ install related accessors, so there shouldn't be clashes with
+ the equivalent names on the replacement.
"""
name = models.CharField(max_length=100)
+ foreign = models.ForeignKey(Target, related_name='swappable_fk_set')
+ m2m = models.ManyToManyField(Target, related_name='swappable_m2m_set')
+
class Meta:
swappable = 'TEST_SWAPPED_MODEL'
+class ReplacementModel(models.Model):
+ """A replacement model for swapping purposes."""
+ name = models.CharField(max_length=100)
+
+ foreign = models.ForeignKey(Target, related_name='swappable_fk_set')
+ m2m = models.ManyToManyField(Target, related_name='swappable_m2m_set')
+
+
class BadSwappableValue(models.Model):
"""A model that can be swapped out; during testing, the swappable
value is not of the format app.model
diff --git a/tests/modeltests/invalid_models/tests.py b/tests/modeltests/invalid_models/tests.py
index 6050a20880..5f6224c45d 100644
--- a/tests/modeltests/invalid_models/tests.py
+++ b/tests/modeltests/invalid_models/tests.py
@@ -37,7 +37,7 @@ class InvalidModelTestCase(unittest.TestCase):
# easier to set this up as an override than to require every developer
# to specify a value in their test settings.
@override_settings(
- TEST_SWAPPED_MODEL='invalid_models.Target',
+ TEST_SWAPPED_MODEL='invalid_models.ReplacementModel',
TEST_SWAPPED_MODEL_BAD_VALUE='not-a-model',
TEST_SWAPPED_MODEL_BAD_MODEL='not_an_app.Target',
)