diff options
| author | VIZZARD-X <vigneshanandmay13@gmail.com> | 2025-12-27 13:54:14 +0530 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2026-02-26 07:46:35 -0500 |
| commit | e6108b7388775f4996a5906e0525fbdd40d2df51 (patch) | |
| tree | cc84128dc376980dac983f369193d3f3309f530f /tests/serializers | |
| parent | f991a1883889a520679fe41112281435581211e1 (diff) | |
Fixed #36750 -- Made ordering of M2M objects deterministic in serializers.
Co-authored-by: Simon Charette <charette.s@gmail.com>
Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
Diffstat (limited to 'tests/serializers')
| -rw-r--r-- | tests/serializers/test_natural.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/serializers/test_natural.py b/tests/serializers/test_natural.py index b405dc3e28..4dff100cc7 100644 --- a/tests/serializers/test_natural.py +++ b/tests/serializers/test_natural.py @@ -1,5 +1,7 @@ +from unittest import mock + from django.core import serializers -from django.db import connection +from django.db import connection, models from django.test import TestCase from .models import ( @@ -336,6 +338,20 @@ def nullable_natural_key_m2m_test(self, format): ) +def natural_key_m2m_totally_ordered_test(self, format): + t1 = NaturalKeyThing.objects.create(key="t1") + t2 = NaturalKeyThing.objects.create(key="t2") + t3 = NaturalKeyThing.objects.create(key="t3") + t1.other_things.add(t2, t3) + + with mock.patch.object(models.QuerySet, "order_by") as mock_order_by: + serializers.serialize(format, [t1], use_natural_foreign_keys=True) + mock_order_by.assert_called_once_with("pk") + mock_order_by.reset_mock() + serializers.serialize(format, [t1], use_natural_foreign_keys=False) + mock_order_by.assert_called_once_with("pk") + + # Dynamically register tests for each serializer register_tests( NaturalKeySerializerTests, @@ -385,3 +401,8 @@ register_tests( "test_%s_nullable_natural_key_m2m", nullable_natural_key_m2m_test, ) +register_tests( + NaturalKeySerializerTests, + "test_%s_natural_key_m2m_totally_ordered", + natural_key_m2m_totally_ordered_test, +) |
