diff options
| author | Daniel Pyrathon <pirosb3@gmail.com> | 2015-01-06 19:16:35 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-01-06 19:25:12 -0500 |
| commit | fb48eb05816b1ac87d58696cdfe48be18c901f16 (patch) | |
| tree | 3d2e981b6f3fafdeb7310d0734fb148ebb7f6aef /tests/schema | |
| parent | 749d23251bbd6564341405e6f8c1da129b8307e7 (diff) | |
Fixed #12663 -- Formalized the Model._meta API for retrieving fields.
Thanks to Russell Keith-Magee for mentoring this Google Summer of
Code 2014 project and everyone else who helped with the patch!
Diffstat (limited to 'tests/schema')
| -rw-r--r-- | tests/schema/tests.py | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py index e9de2131a9..b10ad07251 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -138,7 +138,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Book, - Book._meta.get_field_by_name("author")[0], + Book._meta.get_field("author"), new_field, strict=True, ) @@ -393,7 +393,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Author, - Author._meta.get_field_by_name("name")[0], + Author._meta.get_field("name"), new_field, strict=True, ) @@ -424,7 +424,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Note, - Note._meta.get_field_by_name("info")[0], + Note._meta.get_field("info"), new_field, strict=True, ) @@ -451,7 +451,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Author, - Author._meta.get_field_by_name("height")[0], + Author._meta.get_field("height"), new_field ) # Ensure the field is right afterwards @@ -479,7 +479,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( AuthorWithDefaultHeight, - AuthorWithDefaultHeight._meta.get_field_by_name("height")[0], + AuthorWithDefaultHeight._meta.get_field("height"), new_field, ) # Ensure the field is right afterwards @@ -512,7 +512,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Book, - Book._meta.get_field_by_name("author")[0], + Book._meta.get_field("author"), new_field, strict=True, ) @@ -542,7 +542,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Author, - Author._meta.get_field_by_name("id")[0], + Author._meta.get_field("id"), new_field, strict=True, ) @@ -568,7 +568,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Author, - Author._meta.get_field_by_name("name")[0], + Author._meta.get_field("name"), new_field, strict=True, ) @@ -587,7 +587,7 @@ class SchemaTests(TransactionTestCase): editor.create_model(TagM2MTest) editor.create_model(BookWithM2M) # Ensure there is now an m2m table there - columns = self.column_classes(BookWithM2M._meta.get_field_by_name("tags")[0].rel.through) + columns = self.column_classes(BookWithM2M._meta.get_field("tags").rel.through) self.assertEqual(columns['tagm2mtest_id'][0], "IntegerField") def test_m2m_create_through(self): @@ -661,7 +661,7 @@ class SchemaTests(TransactionTestCase): self.assertEqual(len(self.column_classes(AuthorTag)), 3) # "Alter" the field's blankness. This should not actually do anything. with connection.schema_editor() as editor: - old_field = AuthorWithM2MThrough._meta.get_field_by_name("tags")[0] + old_field = AuthorWithM2MThrough._meta.get_field("tags") new_field = ManyToManyField("schema.TagM2MTest", related_name="authors", through="AuthorTag") new_field.contribute_to_class(AuthorWithM2MThrough, "tags") editor.alter_field( @@ -683,7 +683,7 @@ class SchemaTests(TransactionTestCase): editor.create_model(TagM2MTest) editor.create_model(UniqueTest) # Ensure the M2M exists and points to TagM2MTest - constraints = self.get_constraints(BookWithM2M._meta.get_field_by_name("tags")[0].rel.through._meta.db_table) + constraints = self.get_constraints(BookWithM2M._meta.get_field("tags").rel.through._meta.db_table) if connection.features.supports_foreign_keys: for name, details in constraints.items(): if details['columns'] == ["tagm2mtest_id"] and details['foreign_key']: @@ -698,11 +698,11 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Author, - BookWithM2M._meta.get_field_by_name("tags")[0], + BookWithM2M._meta.get_field("tags"), new_field, ) # Ensure old M2M is gone - self.assertRaises(DatabaseError, self.column_classes, BookWithM2M._meta.get_field_by_name("tags")[0].rel.through) + self.assertRaises(DatabaseError, self.column_classes, BookWithM2M._meta.get_field("tags").rel.through) # Ensure the new M2M exists and points to UniqueTest constraints = self.get_constraints(new_field.rel.through._meta.db_table) if connection.features.supports_foreign_keys: @@ -715,10 +715,10 @@ class SchemaTests(TransactionTestCase): finally: # Cleanup through table separately with connection.schema_editor() as editor: - editor.remove_field(BookWithM2M, BookWithM2M._meta.get_field_by_name("uniques")[0]) + editor.remove_field(BookWithM2M, BookWithM2M._meta.get_field("uniques")) # Cleanup model states BookWithM2M._meta.local_many_to_many.remove(new_field) - del BookWithM2M._meta._m2m_cache + BookWithM2M._meta._expire_cache() @unittest.skipUnless(connection.features.supports_column_check_constraints, "No check constraints") def test_check_constraints(self): @@ -741,7 +741,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Author, - Author._meta.get_field_by_name("height")[0], + Author._meta.get_field("height"), new_field, strict=True, ) @@ -754,7 +754,7 @@ class SchemaTests(TransactionTestCase): editor.alter_field( Author, new_field, - Author._meta.get_field_by_name("height")[0], + Author._meta.get_field("height"), strict=True, ) constraints = self.get_constraints(Author._meta.db_table) @@ -781,7 +781,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Tag, - Tag._meta.get_field_by_name("slug")[0], + Tag._meta.get_field("slug"), new_field, strict=True, ) @@ -809,8 +809,8 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Tag, - Tag._meta.get_field_by_name("slug")[0], - TagUniqueRename._meta.get_field_by_name("slug2")[0], + Tag._meta.get_field("slug"), + TagUniqueRename._meta.get_field("slug2"), strict=True, ) # Ensure the field is still unique @@ -976,7 +976,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( Book, - Book._meta.get_field_by_name("title")[0], + Book._meta.get_field("title"), new_field, strict=True, ) @@ -990,7 +990,7 @@ class SchemaTests(TransactionTestCase): editor.alter_field( Book, new_field, - Book._meta.get_field_by_name("title")[0], + Book._meta.get_field("title"), strict=True, ) # Ensure the table is there and has the index again @@ -1002,7 +1002,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.add_field( Book, - BookWithSlug._meta.get_field_by_name("slug")[0], + BookWithSlug._meta.get_field("slug"), ) self.assertIn( "slug", @@ -1014,7 +1014,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor() as editor: editor.alter_field( BookWithSlug, - BookWithSlug._meta.get_field_by_name("slug")[0], + BookWithSlug._meta.get_field("slug"), new_field2, strict=True, ) @@ -1039,10 +1039,10 @@ class SchemaTests(TransactionTestCase): new_field.set_attributes_from_name("slug") new_field.model = Tag with connection.schema_editor() as editor: - editor.remove_field(Tag, Tag._meta.get_field_by_name("id")[0]) + editor.remove_field(Tag, Tag._meta.get_field("id")) editor.alter_field( Tag, - Tag._meta.get_field_by_name("slug")[0], + Tag._meta.get_field("slug"), new_field, ) # Ensure the PK changed |
