From d12184fedcd586e2c399ea40abe4bf865ebc87a6 Mon Sep 17 00:00:00 2001 From: Daniel Patrick Date: Wed, 3 Jul 2024 19:23:59 +0100 Subject: Fixed #35424 -- Checked order_with_respect_to is available when migrating _order fields. Migrations would crash following the removal of an order_with_respect_to field from a model and the addition of an _order field. --- tests/migrations/test_state.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/migrations/test_state.py b/tests/migrations/test_state.py index c64e4ebb4d..dbbdf77734 100644 --- a/tests/migrations/test_state.py +++ b/tests/migrations/test_state.py @@ -1131,6 +1131,22 @@ class StateTests(SimpleTestCase): self.assertIsNone(order_field.related_model) self.assertIsInstance(order_field, models.PositiveSmallIntegerField) + def test_get_order_field_after_removed_order_with_respect_to_field(self): + new_apps = Apps() + + class HistoricalRecord(models.Model): + _order = models.PositiveSmallIntegerField() + + class Meta: + app_label = "migrations" + apps = new_apps + + model_state = ModelState.from_model(HistoricalRecord) + model_state.options["order_with_respect_to"] = None + order_field = model_state.get_field("_order") + self.assertIsNone(order_field.related_model) + self.assertIsInstance(order_field, models.PositiveSmallIntegerField) + def test_manager_refer_correct_model_version(self): """ #24147 - Managers refer to the correct version of a -- cgit v1.3