From 074844e9479a9ee1420685b36189aa2881289993 Mon Sep 17 00:00:00 2001 From: Nick Pope Date: Fri, 1 May 2020 15:05:20 +0100 Subject: Fixed #31529 -- Added support for serialization of pathlib.Path/PurePath and os.PathLike in migrations. --- docs/releases/3.2.txt | 3 +++ docs/topics/migrations.txt | 10 ++++++++++ 2 files changed, 13 insertions(+) (limited to 'docs') diff --git a/docs/releases/3.2.txt b/docs/releases/3.2.txt index 3cc39ff285..8544df77c3 100644 --- a/docs/releases/3.2.txt +++ b/docs/releases/3.2.txt @@ -200,6 +200,9 @@ Migrations filename fragment that will be used to name a migration containing only that operation. +* Migrations now support serialization of pure and concrete path objects from + :mod:`pathlib`, and :class:`os.PathLike` instances. + Models ~~~~~~ diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt index 2d609f01da..b0d75a4f09 100644 --- a/docs/topics/migrations.txt +++ b/docs/topics/migrations.txt @@ -720,6 +720,11 @@ Django can serialize the following: - ``uuid.UUID`` instances - :func:`functools.partial` and :class:`functools.partialmethod` instances which have serializable ``func``, ``args``, and ``keywords`` values. +- Pure and concrete path objects from :mod:`pathlib`. Concrete paths are + converted to their pure path equivalent, e.g. :class:`pathlib.PosixPath` to + :class:`pathlib.PurePosixPath`. +- :class:`os.PathLike` instances, e.g. :class:`os.DirEntry`, which are + converted to ``str`` or ``bytes`` using :func:`os.fspath`. - ``LazyObject`` instances which wrap a serializable value. - Enumeration types (e.g. ``TextChoices`` or ``IntegerChoices``) instances. - Any Django field @@ -728,6 +733,11 @@ Django can serialize the following: - Any class reference (must be in module's top-level scope) - Anything with a custom ``deconstruct()`` method (:ref:`see below `) +.. versionchanged:: 3.2 + + Serialization support for pure and concrete path objects from + :mod:`pathlib`, and :class:`os.PathLike` instances was added. + Django cannot serialize: - Nested classes -- cgit v1.3