Commit b1e552de authored by Piper Merriam's avatar Piper Merriam Committed by Tim Graham
Browse files

Fixed #25186 -- Improved migration's serialization of builtins on Python 2.

parent 5d60d2b4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -472,6 +472,9 @@ class MigrationWriter(object):
                    "For more information, see "
                    "https://docs.djangoproject.com/en/%s/topics/migrations/#serializing-values"
                    % (value.__name__, module_name, get_docs_version()))
            # Needed on Python 2 only
            if module_name == '__builtin__':
                return value.__name__, set()
            return "%s.%s" % (module_name, value.__name__), {"import %s" % module_name}
        # Other iterables
        elif isinstance(value, collections.Iterable):
+5 −0
Original line number Diff line number Diff line
@@ -359,6 +359,11 @@ class WriterTests(SimpleTestCase):
        self.assertSerializedEqual(one_item_tuple)
        self.assertSerializedEqual(many_items_tuple)

    def test_serialize_builtins(self):
        string, imports = MigrationWriter.serialize(range)
        self.assertEqual(string, 'range')
        self.assertEqual(imports, set())

    @unittest.skipUnless(six.PY2, "Only applies on Python 2")
    def test_serialize_direct_function_reference(self):
        """