Kaydet (Commit) adfdb9f1 authored tarafından Patrik Sletmo's avatar Patrik Sletmo Kaydeden (comit) Tim Graham

Fixed #29814 -- Added support for NoneType serialization in migrations.

üst 52fec5d1
......@@ -651,6 +651,7 @@ answer newbie questions, and generally made Django that much better:
Panos Laganakos <panos.laganakos@gmail.com>
Pascal Hartig <phartig@rdrei.net>
Pascal Varet
Patrik Sletmo <patrik.sletmo@gmail.com>
Paul Bissex <http://e-scribe.com/>
Paul Collier <paul@paul-collier.com>
Paul Collins <paul.collins.iii@gmail.com>
......
......@@ -252,6 +252,7 @@ class TypeSerializer(BaseSerializer):
def serialize(self):
special_cases = [
(models.Model, "models.Model", []),
(type(None), 'type(None)', []),
]
for case, string, imports in special_cases:
if case is self.value:
......
......@@ -188,6 +188,8 @@ Migrations
* The new :option:`migrate --plan` option prints the list of migration
operations that will be performed.
* ``NoneType`` can now be serialized in migrations.
Models
~~~~~~
......
......@@ -666,7 +666,7 @@ for basic values, and doesn't specify import paths).
Django can serialize the following:
- ``int``, ``float``, ``bool``, ``str``, ``bytes``, ``None``
- ``int``, ``float``, ``bool``, ``str``, ``bytes``, ``None``, ``NoneType``
- ``list``, ``set``, ``tuple``, ``dict``
- ``datetime.date``, ``datetime.time``, and ``datetime.datetime`` instances
(include those that are timezone-aware)
......@@ -686,6 +686,10 @@ Django can serialize the following:
Serialization support for :class:`functools.partialmethod` was added.
.. versionchanged:: 2.2
Serialization support for ``NoneType`` was added.
Django cannot serialize:
- Nested classes
......
......@@ -513,6 +513,9 @@ class WriterTests(SimpleTestCase):
self.assertEqual(result.args, value.args)
self.assertEqual(result.keywords, value.keywords)
def test_serialize_type_none(self):
self.assertSerializedEqual(type(None))
def test_simple_migration(self):
"""
Tests serializing a simple migration.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment