summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests
diff options
context:
space:
mode:
authorNadège Michel <michel.nadege@gmail.com>2019-04-19 18:12:04 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-06-21 15:03:17 +0200
commit87b1ad6e7351464c60e751b483d9dfce3a2d3382 (patch)
tree24094846d09b2bc43429eb6c187c45b37a8bb2de /tests/invalid_models_tests
parenta9179ab032cda80801e7f67ef20db5ee60989f21 (diff)
Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField.
Diffstat (limited to 'tests/invalid_models_tests')
-rw-r--r--tests/invalid_models_tests/test_relative_fields.py64
1 files changed, 0 insertions, 64 deletions
diff --git a/tests/invalid_models_tests/test_relative_fields.py b/tests/invalid_models_tests/test_relative_fields.py
index e68dd41c6f..4ac0c547a9 100644
--- a/tests/invalid_models_tests/test_relative_fields.py
+++ b/tests/invalid_models_tests/test_relative_fields.py
@@ -260,24 +260,6 @@ class RelativeFieldTests(SimpleTestCase):
field = Group._meta.get_field('members')
self.assertEqual(field.check(from_model=Group), [])
- def test_symmetrical_self_referential_field(self):
- class Person(models.Model):
- # Implicit symmetrical=False.
- friends = models.ManyToManyField('self', through="Relationship")
-
- class Relationship(models.Model):
- first = models.ForeignKey(Person, models.CASCADE, related_name="rel_from_set")
- second = models.ForeignKey(Person, models.CASCADE, related_name="rel_to_set")
-
- field = Person._meta.get_field('friends')
- self.assertEqual(field.check(from_model=Person), [
- Error(
- 'Many-to-many fields with intermediate tables must not be symmetrical.',
- obj=field,
- id='fields.E332',
- ),
- ])
-
def test_too_many_foreign_keys_in_self_referential_model(self):
class Person(models.Model):
friends = models.ManyToManyField('self', through="InvalidRelationship", symmetrical=False)
@@ -301,52 +283,6 @@ class RelativeFieldTests(SimpleTestCase):
),
])
- def test_symmetric_self_reference_with_intermediate_table(self):
- class Person(models.Model):
- # Explicit symmetrical=True.
- friends = models.ManyToManyField('self', through="Relationship", symmetrical=True)
-
- class Relationship(models.Model):
- first = models.ForeignKey(Person, models.CASCADE, related_name="rel_from_set")
- second = models.ForeignKey(Person, models.CASCADE, related_name="rel_to_set")
-
- field = Person._meta.get_field('friends')
- self.assertEqual(field.check(from_model=Person), [
- Error(
- 'Many-to-many fields with intermediate tables must not be symmetrical.',
- obj=field,
- id='fields.E332',
- ),
- ])
-
- def test_symmetric_self_reference_with_intermediate_table_and_through_fields(self):
- """
- Using through_fields in a m2m with an intermediate model shouldn't
- mask its incompatibility with symmetry.
- """
- class Person(models.Model):
- # Explicit symmetrical=True.
- friends = models.ManyToManyField(
- 'self',
- symmetrical=True,
- through="Relationship",
- through_fields=('first', 'second'),
- )
-
- class Relationship(models.Model):
- first = models.ForeignKey(Person, models.CASCADE, related_name="rel_from_set")
- second = models.ForeignKey(Person, models.CASCADE, related_name="rel_to_set")
- referee = models.ForeignKey(Person, models.CASCADE, related_name="referred")
-
- field = Person._meta.get_field('friends')
- self.assertEqual(field.check(from_model=Person), [
- Error(
- 'Many-to-many fields with intermediate tables must not be symmetrical.',
- obj=field,
- id='fields.E332',
- ),
- ])
-
def test_foreign_key_to_abstract_model(self):
class AbstractModel(models.Model):
class Meta: