diff options
| author | Nadège Michel <michel.nadege@gmail.com> | 2019-04-19 18:12:04 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-06-21 15:03:17 +0200 |
| commit | 87b1ad6e7351464c60e751b483d9dfce3a2d3382 (patch) | |
| tree | 24094846d09b2bc43429eb6c187c45b37a8bb2de /tests/invalid_models_tests | |
| parent | a9179ab032cda80801e7f67ef20db5ee60989f21 (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.py | 64 |
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: |
