diff options
| author | Tim Graham <timograham@gmail.com> | 2016-02-12 11:36:46 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-02-12 13:01:25 -0500 |
| commit | 004ba0f99eb25c3f32aa3a41707534e955d1878e (patch) | |
| tree | 74273e902b824f7288eac57ba961cbd4b572223c /tests/invalid_models_tests/test_relative_fields.py | |
| parent | 36f1f5cfb008c465f372389080cdd92671a6cab7 (diff) | |
Removed unneeded hint=None/obj=None in system check messages.
Diffstat (limited to 'tests/invalid_models_tests/test_relative_fields.py')
| -rw-r--r-- | tests/invalid_models_tests/test_relative_fields.py | 270 |
1 files changed, 145 insertions, 125 deletions
diff --git a/tests/invalid_models_tests/test_relative_fields.py b/tests/invalid_models_tests/test_relative_fields.py index 9734e82631..6a61248eb6 100644 --- a/tests/invalid_models_tests/test_relative_fields.py +++ b/tests/invalid_models_tests/test_relative_fields.py @@ -122,9 +122,8 @@ class RelativeFieldTests(SimpleTestCase): errors = field.check() expected = [ Error( - ("Field defines a relation with model 'Rel1', " - "which is either not installed, or is abstract."), - hint=None, + "Field defines a relation with model 'Rel1', " + "which is either not installed, or is abstract.", obj=field, id='fields.E300', ), @@ -154,9 +153,8 @@ class RelativeFieldTests(SimpleTestCase): errors = field.check(from_model=Model) expected = [ Error( - ("Field defines a relation with model 'Rel2', " - "which is either not installed, or is abstract."), - hint=None, + "Field defines a relation with model 'Rel2', " + "which is either not installed, or is abstract.", obj=field, id='fields.E300', ), @@ -191,7 +189,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ DjangoWarning( 'null has no effect on ManyToManyField.', - hint=None, obj=field, id='fields.W340', ) @@ -199,7 +196,6 @@ class RelativeFieldTests(SimpleTestCase): expected.append( DjangoWarning( 'ManyToManyField does not support validators.', - hint=None, obj=field, id='fields.W341', ) @@ -213,8 +209,7 @@ class RelativeFieldTests(SimpleTestCase): pass class Group(models.Model): - field = models.ManyToManyField('Person', - through="AmbiguousRelationship", related_name='tertiary') + field = models.ManyToManyField('Person', through="AmbiguousRelationship", related_name='tertiary') class AmbiguousRelationship(models.Model): # Too much foreign keys to Person. @@ -226,14 +221,15 @@ class RelativeFieldTests(SimpleTestCase): errors = field.check(from_model=Group) expected = [ Error( - ("The model is used as an intermediate model by " - "'invalid_models_tests.Group.field', but it has more than one " - "foreign key to 'Person', which is ambiguous. You must specify " - "which foreign key Django should use via the through_fields " - "keyword argument."), - hint=('If you want to create a recursive relationship, use ' - 'ForeignKey("self", symmetrical=False, ' - 'through="AmbiguousRelationship").'), + "The model is used as an intermediate model by " + "'invalid_models_tests.Group.field', but it has more than one " + "foreign key to 'Person', which is ambiguous. You must specify " + "which foreign key Django should use via the through_fields " + "keyword argument.", + hint=( + 'If you want to create a recursive relationship, use ' + 'ForeignKey("self", symmetrical=False, through="AmbiguousRelationship").' + ), obj=field, id='fields.E335', ), @@ -248,8 +244,7 @@ class RelativeFieldTests(SimpleTestCase): pass class Group(models.Model): - members = models.ManyToManyField('Person', - through="InvalidRelationship") + members = models.ManyToManyField('Person', through="InvalidRelationship") class InvalidRelationship(models.Model): person = models.ForeignKey(Person, models.CASCADE) @@ -260,10 +255,9 @@ class RelativeFieldTests(SimpleTestCase): errors = field.check(from_model=Group) expected = [ Error( - ("The model is used as an intermediate model by " - "'invalid_models_tests.Group.members', but it does not " - "have a foreign key to 'Group' or 'Person'."), - hint=None, + "The model is used as an intermediate model by " + "'invalid_models_tests.Group.members', but it does not " + "have a foreign key to 'Group' or 'Person'.", obj=InvalidRelationship, id='fields.E336', ), @@ -275,8 +269,7 @@ class RelativeFieldTests(SimpleTestCase): pass class Group(models.Model): - members = models.ManyToManyField('Person', - through="InvalidRelationship") + members = models.ManyToManyField('Person', through="InvalidRelationship") class InvalidRelationship(models.Model): group = models.ForeignKey(Group, models.CASCADE) @@ -286,10 +279,9 @@ class RelativeFieldTests(SimpleTestCase): errors = field.check(from_model=Group) expected = [ Error( - ("The model is used as an intermediate model by " - "'invalid_models_tests.Group.members', but it does not have " - "a foreign key to 'Group' or 'Person'."), - hint=None, + "The model is used as an intermediate model by " + "'invalid_models_tests.Group.members', but it does not have " + "a foreign key to 'Group' or 'Person'.", obj=InvalidRelationship, id='fields.E336', ), @@ -301,16 +293,14 @@ class RelativeFieldTests(SimpleTestCase): pass class Group(models.Model): - members = models.ManyToManyField('Person', - through="MissingM2MModel") + members = models.ManyToManyField('Person', through="MissingM2MModel") field = Group._meta.get_field('members') errors = field.check(from_model=Group) expected = [ Error( - ("Field specifies a many-to-many relation through model " - "'MissingM2MModel', which has not been installed."), - hint=None, + "Field specifies a many-to-many relation through model " + "'MissingM2MModel', which has not been installed.", obj=field, id='fields.E331', ), @@ -350,7 +340,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ Error( 'Many-to-many fields with intermediate tables must not be symmetrical.', - hint=None, obj=field, id='fields.E332', ), @@ -359,8 +348,7 @@ class RelativeFieldTests(SimpleTestCase): def test_too_many_foreign_keys_in_self_referential_model(self): class Person(models.Model): - friends = models.ManyToManyField('self', - through="InvalidRelationship", symmetrical=False) + friends = models.ManyToManyField('self', through="InvalidRelationship", symmetrical=False) class InvalidRelationship(models.Model): first = models.ForeignKey(Person, models.CASCADE, related_name="rel_from_set_2") @@ -371,11 +359,11 @@ class RelativeFieldTests(SimpleTestCase): errors = field.check(from_model=Person) expected = [ Error( - ("The model is used as an intermediate model by " - "'invalid_models_tests.Person.friends', but it has more than two " - "foreign keys to 'Person', which is ambiguous. You must specify " - "which two foreign keys Django should use via the through_fields " - "keyword argument."), + "The model is used as an intermediate model by " + "'invalid_models_tests.Person.friends', but it has more than two " + "foreign keys to 'Person', which is ambiguous. You must specify " + "which two foreign keys Django should use via the through_fields " + "keyword argument.", hint='Use through_fields to specify which two foreign keys Django should use.', obj=InvalidRelationship, id='fields.E333', @@ -386,8 +374,7 @@ 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) + friends = models.ManyToManyField('self', through="Relationship", symmetrical=True) class Relationship(models.Model): first = models.ForeignKey(Person, models.CASCADE, related_name="rel_from_set") @@ -398,7 +385,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ Error( 'Many-to-many fields with intermediate tables must not be symmetrical.', - hint=None, obj=field, id='fields.E332', ), @@ -412,10 +398,12 @@ class RelativeFieldTests(SimpleTestCase): """ class Person(models.Model): # Explicit symmetrical=True. - friends = models.ManyToManyField('self', + friends = models.ManyToManyField( + 'self', symmetrical=True, through="Relationship", - through_fields=('first', 'second')) + through_fields=('first', 'second'), + ) class Relationship(models.Model): first = models.ForeignKey(Person, models.CASCADE, related_name="rel_from_set") @@ -427,7 +415,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ Error( 'Many-to-many fields with intermediate tables must not be symmetrical.', - hint=None, obj=field, id='fields.E332', ), @@ -492,7 +479,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ Error( 'ManyToManyFields cannot be unique.', - hint=None, obj=field, id='fields.E330', ), @@ -511,7 +497,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ Error( "'Target.bad' must set unique=True because it is referenced by a foreign key.", - hint=None, obj=field, id='fields.E311', ), @@ -530,7 +515,6 @@ class RelativeFieldTests(SimpleTestCase): expected = [ Error( "'Target.bad' must set unique=True because it is referenced by a foreign key.", - hint=None, obj=field, id='fields.E311', ), @@ -547,10 +531,12 @@ class RelativeFieldTests(SimpleTestCase): person_country_id = models.IntegerField() person_city_id = models.IntegerField() - person = models.ForeignObject(Person, + person = models.ForeignObject( + Person, on_delete=models.CASCADE, from_fields=['person_country_id', 'person_city_id'], - to_fields=['country_id', 'city_id']) + to_fields=['country_id', 'city_id'], + ) field = MMembership._meta.get_field('person') errors = field.check() @@ -630,17 +616,21 @@ class RelativeFieldTests(SimpleTestCase): swappable = 'TEST_SWAPPABLE_MODEL' class Model(models.Model): - explicit_fk = models.ForeignKey(SwappableModel, + explicit_fk = models.ForeignKey( + SwappableModel, models.CASCADE, - related_name='explicit_fk') - implicit_fk = models.ForeignKey('invalid_models_tests.SwappableModel', + related_name='explicit_fk', + ) + implicit_fk = models.ForeignKey( + 'invalid_models_tests.SwappableModel', models.CASCADE, - related_name='implicit_fk') - explicit_m2m = models.ManyToManyField(SwappableModel, - related_name='explicit_m2m') + related_name='implicit_fk', + ) + explicit_m2m = models.ManyToManyField(SwappableModel, related_name='explicit_m2m') implicit_m2m = models.ManyToManyField( 'invalid_models_tests.SwappableModel', - related_name='implicit_m2m') + related_name='implicit_m2m', + ) explicit_fk = Model._meta.get_field('explicit_fk') self.assertEqual(explicit_fk.check(), []) @@ -664,17 +654,21 @@ class RelativeFieldTests(SimpleTestCase): swappable = 'TEST_SWAPPED_MODEL' class Model(models.Model): - explicit_fk = models.ForeignKey(SwappedModel, + explicit_fk = models.ForeignKey( + SwappedModel, models.CASCADE, - related_name='explicit_fk') - implicit_fk = models.ForeignKey('invalid_models_tests.SwappedModel', + related_name='explicit_fk', + ) + implicit_fk = models.ForeignKey( + 'invalid_models_tests.SwappedModel', models.CASCADE, - related_name='implicit_fk') - explicit_m2m = models.ManyToManyField(SwappedModel, - related_name='explicit_m2m') + related_name='implicit_fk', + ) + explicit_m2m = models.ManyToManyField(SwappedModel, related_name='explicit_m2m') implicit_m2m = models.ManyToManyField( 'invalid_models_tests.SwappedModel', - related_name='implicit_m2m') + related_name='implicit_m2m', + ) fields = [ Model._meta.get_field('explicit_fk'), @@ -838,15 +832,19 @@ class AccessorClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.foreign' clashes with reverse accessor for 'Model.m2m'.", - hint=("Add or change a related_name argument to the definition " - "for 'Model.foreign' or 'Model.m2m'."), + hint=( + "Add or change a related_name argument to the definition " + "for 'Model.foreign' or 'Model.m2m'." + ), obj=Model._meta.get_field('foreign'), id='fields.E304', ), Error( "Reverse accessor for 'Model.m2m' clashes with reverse accessor for 'Model.foreign'.", - hint=("Add or change a related_name argument to the definition " - "for 'Model.m2m' or 'Model.foreign'."), + hint=( + "Add or change a related_name argument to the definition " + "for 'Model.m2m' or 'Model.foreign'." + ), obj=Model._meta.get_field('m2m'), id='fields.E304', ), @@ -873,9 +871,10 @@ class AccessorClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.children' clashes with field name 'Child.m2m_clash'.", - hint=("Rename field 'Child.m2m_clash', or add/change " - "a related_name argument to the definition " - "for field 'Model.children'."), + hint=( + "Rename field 'Child.m2m_clash', or add/change a related_name " + "argument to the definition for field 'Model.children'." + ), obj=Model._meta.get_field('children'), id='fields.E302', ) @@ -930,9 +929,10 @@ class ReverseQueryNameClashTests(SimpleTestCase): expected = [ Error( "Reverse query name for 'Model.rel' clashes with field name 'Target.model'.", - hint=("Rename field 'Target.model', or add/change " - "a related_name argument to the definition " - "for field 'Model.rel'."), + hint=( + "Rename field 'Target.model', or add/change a related_name " + "argument to the definition for field 'Model.rel'." + ), obj=Model._meta.get_field('rel'), id='fields.E303', ), @@ -987,17 +987,19 @@ class ExplicitRelatedNameClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.rel' clashes with field name 'Target.clash'.", - hint=("Rename field 'Target.clash', or add/change " - "a related_name argument to the definition " - "for field 'Model.rel'."), + hint=( + "Rename field 'Target.clash', or add/change a related_name " + "argument to the definition for field 'Model.rel'." + ), obj=Model._meta.get_field('rel'), id='fields.E302', ), Error( "Reverse query name for 'Model.rel' clashes with field name 'Target.clash'.", - hint=("Rename field 'Target.clash', or add/change " - "a related_name argument to the definition " - "for field 'Model.rel'."), + hint=( + "Rename field 'Target.clash', or add/change a related_name " + "argument to the definition for field 'Model.rel'." + ), obj=Model._meta.get_field('rel'), id='fields.E303', ), @@ -1085,8 +1087,10 @@ class ExplicitRelatedQueryNameClashTests(SimpleTestCase): expected = [ Error( "Reverse query name for 'Model.rel' clashes with field name 'Target.clash'.", - hint=("Rename field 'Target.clash', or add/change a related_name " - "argument to the definition for field 'Model.rel'."), + hint=( + "Rename field 'Target.clash', or add/change a related_name " + "argument to the definition for field 'Model.rel'." + ), obj=Model._meta.get_field('rel'), id='fields.E303', ), @@ -1106,15 +1110,19 @@ class SelfReferentialM2MClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.first_m2m' clashes with reverse accessor for 'Model.second_m2m'.", - hint=("Add or change a related_name argument to the definition " - "for 'Model.first_m2m' or 'Model.second_m2m'."), + hint=( + "Add or change a related_name argument to the definition " + "for 'Model.first_m2m' or 'Model.second_m2m'." + ), obj=Model._meta.get_field('first_m2m'), id='fields.E304', ), Error( "Reverse accessor for 'Model.second_m2m' clashes with reverse accessor for 'Model.first_m2m'.", - hint=("Add or change a related_name argument to the definition " - "for 'Model.second_m2m' or 'Model.first_m2m'."), + hint=( + "Add or change a related_name argument to the definition " + "for 'Model.second_m2m' or 'Model.first_m2m'." + ), obj=Model._meta.get_field('second_m2m'), id='fields.E304', ), @@ -1129,9 +1137,10 @@ class SelfReferentialM2MClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.model_set' clashes with field name 'Model.model_set'.", - hint=("Rename field 'Model.model_set', or add/change " - "a related_name argument to the definition " - "for field 'Model.model_set'."), + hint=( + "Rename field 'Model.model_set', or add/change a related_name " + "argument to the definition for field 'Model.model_set'." + ), obj=Model._meta.get_field('model_set'), id='fields.E302', ), @@ -1146,8 +1155,10 @@ class SelfReferentialM2MClashTests(SimpleTestCase): expected = [ Error( "Reverse query name for 'Model.model' clashes with field name 'Model.model'.", - hint=("Rename field 'Model.model', or add/change a related_name " - "argument to the definition for field 'Model.model'."), + hint=( + "Rename field 'Model.model', or add/change a related_name " + "argument to the definition for field 'Model.model'." + ), obj=Model._meta.get_field('model'), id='fields.E303', ), @@ -1157,22 +1168,25 @@ class SelfReferentialM2MClashTests(SimpleTestCase): def test_clash_under_explicit_related_name(self): class Model(models.Model): clash = models.IntegerField() - m2m = models.ManyToManyField("self", - symmetrical=False, related_name='clash') + m2m = models.ManyToManyField("self", symmetrical=False, related_name='clash') errors = Model.check() expected = [ Error( "Reverse accessor for 'Model.m2m' clashes with field name 'Model.clash'.", - hint=("Rename field 'Model.clash', or add/change a related_name " - "argument to the definition for field 'Model.m2m'."), + hint=( + "Rename field 'Model.clash', or add/change a related_name " + "argument to the definition for field 'Model.m2m'." + ), obj=Model._meta.get_field('m2m'), id='fields.E302', ), Error( "Reverse query name for 'Model.m2m' clashes with field name 'Model.clash'.", - hint=("Rename field 'Model.clash', or add/change a related_name " - "argument to the definition for field 'Model.m2m'."), + hint=( + "Rename field 'Model.clash', or add/change a related_name " + "argument to the definition for field 'Model.m2m'." + ), obj=Model._meta.get_field('m2m'), id='fields.E303', ), @@ -1181,10 +1195,8 @@ class SelfReferentialM2MClashTests(SimpleTestCase): def test_valid_model(self): class Model(models.Model): - first = models.ManyToManyField("self", - symmetrical=False, related_name='first_accessor') - second = models.ManyToManyField("self", - symmetrical=False, related_name='second_accessor') + first = models.ManyToManyField("self", symmetrical=False, related_name='first_accessor') + second = models.ManyToManyField("self", symmetrical=False, related_name='second_accessor') errors = Model.check() self.assertEqual(errors, []) @@ -1201,9 +1213,11 @@ class SelfReferentialFKClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.model_set' clashes with field name 'Model.model_set'.", - hint=("Rename field 'Model.model_set', or add/change " - "a related_name argument to the definition " - "for field 'Model.model_set'."), + hint=( + "Rename field 'Model.model_set', or add/change " + "a related_name argument to the definition " + "for field 'Model.model_set'." + ), obj=Model._meta.get_field('model_set'), id='fields.E302', ), @@ -1218,9 +1232,10 @@ class SelfReferentialFKClashTests(SimpleTestCase): expected = [ Error( "Reverse query name for 'Model.model' clashes with field name 'Model.model'.", - hint=("Rename field 'Model.model', or add/change " - "a related_name argument to the definition " - "for field 'Model.model'."), + hint=( + "Rename field 'Model.model', or add/change a related_name " + "argument to the definition for field 'Model.model'." + ), obj=Model._meta.get_field('model'), id='fields.E303', ), @@ -1236,17 +1251,19 @@ class SelfReferentialFKClashTests(SimpleTestCase): expected = [ Error( "Reverse accessor for 'Model.foreign' clashes with field name 'Model.clash'.", - hint=("Rename field 'Model.clash', or add/change " - "a related_name argument to the definition " - "for field 'Model.foreign'."), + hint=( + "Rename field 'Model.clash', or add/change a related_name " + "argument to the definition for field 'Model.foreign'." + ), obj=Model._meta.get_field('foreign'), id='fields.E302', ), Error( "Reverse query name for 'Model.foreign' clashes with field name 'Model.clash'.", - hint=("Rename field 'Model.clash', or add/change " - "a related_name argument to the definition " - "for field 'Model.foreign'."), + hint=( + "Rename field 'Model.clash', or add/change a related_name " + "argument to the definition for field 'Model.foreign'." + ), obj=Model._meta.get_field('foreign'), id='fields.E303', ), @@ -1402,15 +1419,17 @@ class M2mThroughFieldsTests(SimpleTestCase): errors = field.check(from_model=Event) expected = [ Error( - ("'Invitation.invitee' is not a foreign key to 'Event'."), + "'Invitation.invitee' is not a foreign key to 'Event'.", hint="Did you mean one of the following foreign keys to 'Event': event?", obj=field, - id='fields.E339'), + id='fields.E339', + ), Error( - ("'Invitation.event' is not a foreign key to 'Fan'."), + "'Invitation.event' is not a foreign key to 'Fan'.", hint="Did you mean one of the following foreign keys to 'Fan': invitee, inviter?", obj=field, - id='fields.E339'), + id='fields.E339', + ), ] self.assertEqual(expected, errors) @@ -1441,12 +1460,14 @@ class M2mThroughFieldsTests(SimpleTestCase): "The intermediary model 'invalid_models_tests.Invitation' has no field 'invalid_field_1'.", hint="Did you mean one of the following foreign keys to 'Event': event?", obj=field, - id='fields.E338'), + id='fields.E338', + ), Error( "The intermediary model 'invalid_models_tests.Invitation' has no field 'invalid_field_2'.", hint="Did you mean one of the following foreign keys to 'Fan': invitee, inviter?", obj=field, - id='fields.E338'), + id='fields.E338', + ), ] self.assertEqual(expected, errors) @@ -1473,8 +1494,7 @@ class M2mThroughFieldsTests(SimpleTestCase): "Field specifies 'through_fields' but does not provide the names " "of the two link fields that should be used for the relation " "through model 'invalid_models_tests.Invitation'.", - hint=("Make sure you specify 'through_fields' as " - "through_fields=('field1', 'field2')"), + hint="Make sure you specify 'through_fields' as through_fields=('field1', 'field2')", obj=field, id='fields.E337')] self.assertEqual(expected, errors) |
