summaryrefslogtreecommitdiff
path: root/tests/serializers
AgeCommit message (Collapse)Author
2026-04-06Fixed #37023 -- Made XML serializer put each ManyToManyField object on its ↵Tim Graham
own line.
2026-02-26Fixed #36750 -- Made ordering of M2M objects deterministic in serializers.VIZZARD-X
Co-authored-by: Simon Charette <charette.s@gmail.com> Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
2026-02-10Modified tests to format PKs with %s rather than %d.Tim Graham
It's how Django formats values internally and makes tests compatible with databases that use non-integer primary keys.
2026-01-18Applied Black's 2026 stable style.Mariusz Felisiak
https://github.com/psf/black/releases/tag/26.1.0
2026-01-12Refs #36769 -- Raised SuspiciousOperation for unexpected nested tags in XML ↵Jacob Walls
Deserializer. Thanks Shai Berger and Natalia Bidart for reviews.
2025-12-22Fixed #36786 -- Fixed XML serialization of None values in natural keys.Youngkwang Yang
None values in natural keys were incorrectly serialized as the string "None", causing deserialization to fail for fields like UUIDField.
2025-12-17Fixed #27380 -- Added "raw" argument to m2m_changed signals.Mariusz Felisiak
2025-12-03Fixed #35729 -- Enabled natural key serialization opt-out for subclasses.rimi0108
Refactored serialization logic to allow models inheriting a natural_key() method (e.g. AbstractBaseUser) to explicitly opt out of natural key serialization by returning an empty tuple from the method. Thanks Jonas Dittrich for the report. Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
2025-12-02Fixed CVE-2025-64460 -- Corrected quadratic inner text accumulation in XML ↵Shai Berger
serializer. Previously, `getInnerText()` recursively used `list.extend()` on strings, which added each character from child nodes as a separate list element. On deeply nested XML content, this caused the overall deserialization work to grow quadratically with input size, potentially allowing disproportionate CPU consumption for crafted XML. The fix separates collection of inner texts from joining them, so that each subtree is joined only once, reducing the complexity to linear in the size of the input. These changes also include a mitigation for a xml.dom.minidom performance issue. Thanks Seokchan Yoon (https://ch4n3.kr/) for report. Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com> Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-07-23Refs #36500 -- Rewrapped long docstrings and block comments via a script.django-bot
Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505.
2025-07-23Removed double spaces after periods and within phrases.Sarah Boyce
2025-03-11Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232)Tom Carrick
2025-03-01Applied Black's 2025 stable style.Mariusz Felisiak
https://github.com/psf/black/releases/tag/25.1.0
2024-12-18Fixed #35996 -- Fixed database serialization crash when serializing a ↵Erica Pisani
many-to-many field that had a prefetch.
2024-12-05Refs #21286 -- Fixed serializers tests if Pillow isn't installed.Mariusz Felisiak
2024-12-03Refs #21286 -- Enabled ImageField test cases in serializer data tests.Adam Zapletal
This aligns ImageField to be tested in the same way as FileField. The commented-out test also exists for FileField and relates to #10244.
2024-12-02Improved assert_serializer test assertions in test.serializers.Sarah Boyce
2024-12-02Used skipIf/UnlessDBFeature in test.serializers.Sarah Boyce
2024-11-28Refs #21286 -- Fixed serializer test with primary key TextField.Adam Zapletal
2024-11-12Refs #21286 -- Fixed YAML serialization of TimeField primary key.Adam Zapletal
Handling for PyYAML not being able to serialize `datetime.time` values is moved from `handle_field` to `_value_from_field` as only non-primary key, non-relation fields are passed into `handle_field`.
2024-10-16Refs #35727 -- Updated response.content.decode calls to use the ↵SaJH
HttpResponse.text property. Signed-off-by: SaJH <wogur981208@gmail.com>
2024-09-19Refs #29522 -- Fixed serializers/fixtures test crash if PyYAML isn't installed.Mariusz Felisiak
2024-09-17Fixed #29522 -- Refactored the Deserializer functions to classes.Amir Karimi
Co-authored-by: Emad Mokhtar <emad.mokhtar@veneficus.nl>
2024-03-04Refs #21286 -- Removed invalid commented out models and tests from ↵Adam Zapletal
serializer tests. FileField/ImageField cannot be primary keys, so serialization support for this case will not be implemented. XMLField was removed in d1290b5b43485c7018ba92981d34c1f96614924e.
2024-01-26Applied Black's 2024 stable style.Mariusz Felisiak
https://github.com/psf/black/releases/tag/24.1.0
2023-08-22Removed unnecessary trailing commas in tests.konsti
2023-08-19Fixed #34779 -- Avoided unnecessary selection of non-nullable m2m fields ↵Juan Alvarez
without natural keys during serialization. By using `select_related(None)` instead of `select_related()`, the unnecessary joins are completely avoided. Note that the current tests already covers the change, when the field is not `null=True`. Regression in f9936deed1ff13b20e18bd9ca2b0750b52706b6c.
2023-06-04Fixed #34620 -- Fixed serialization crash on m2m fields without natural keys ↵Mariusz Felisiak
when base querysets use select_related(). Regression in 19e0587ee596debf77540d6a08ccb6507e60b6a7. Thanks Martin Svoboda for the report.
2023-02-01Refs #33476 -- Applied Black's 2023 stable style.David Smith
Black 23.1.0 is released which, as the first release of the year, introduces the 2023 stable style. This incorporates most of last year's preview style. https://github.com/psf/black/releases/tag/23.1.0
2023-01-17Refs #29708 -- Removed PickleSerializer per deprecation timeline.Mariusz Felisiak
2022-09-05Fixed #33937 -- Optimized serialization of related m2m fields without ↵Mark Evans
natural keys.
2022-04-18Fixed various tests on MySQL with MyISAM storage engine.Mariusz Felisiak
2022-02-22Removed redundant QuerySet.all() calls in docs and tests.Nick Pope
Most QuerySet methods are mapped onto the Manager and, in general, it isn't necessary to call .all() on the manager.
2022-02-07Refs #33476 -- Refactored code to strictly match 88 characters line length.Mariusz Felisiak
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2022-01-13Fixed #29708 -- Deprecated PickleSerializer.Adam Johnson
2021-09-02Refs #33012 -- Moved PickleSerializer to django.core.serializers.base and ↵Daniyal Abbasi
added tests.
2021-02-05Fixed #32420 -- Fixed detecting primary key values in deserialization when ↵Mikolaj Rybinski
PK is also a FK.
2021-01-14Refs #31369 -- Removed models.NullBooleanField per deprecation timeline.Mariusz Felisiak
2020-08-17Fixed #31888 -- Avoided module-level MySQL queries in tests.Ahmad A. Hussein
2020-07-20Fixed #17653 -- Allowed using zero as AutoFields value on MySQL if ↵Mariusz Felisiak
NO_AUTO_VALUE_ON_ZERO SQL mode is enabled.
2020-06-17Refs #30190 -- Minor edits to JSONL serializer.Mariusz Felisiak
Follow up to e29637681be07606674cdccb47d1e53acb930f5b.
2020-06-16Fixed #30190 -- Added JSONL serializer.Ali Vakilzade
2020-05-25Fixed #29078 -- Made serializers respect prefetch_related() for m2m fields.Claude Paroz
2020-05-15Refs #31395 -- Relied on setUpTestData() test data isolation in various tests.Simon Charette
2020-05-04Changed `'%s' % value` pattern to `str(value)`.Nick Pope
2020-04-28Fixed #29249 -- Made JSON and YAML serializers use Unicode by default.Hasan Ramezani
2020-04-28Refs #29249 -- Added tests for serializing Unicode data with XML serializer.Hasan Ramezani
2020-04-07Enforced uniqueness of natural keys used in tests.Mariusz Felisiak
2020-02-07Used assertRaisesMessage() in various tests.Hasan Ramezani