From 496800b3bf4460e697dee942696eaee5c56f87a0 Mon Sep 17 00:00:00 2001 From: Jay Wineinger Date: Thu, 9 Apr 2015 13:47:05 -0500 Subject: [1.8.x] Fixed #24611 -- Fixed update() crash with related UUID pk object. Backport of 923da0274a9a8c4ef2ac9776f71bd14628e39fc3 from master --- tests/model_fields/test_uuid.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/model_fields') diff --git a/tests/model_fields/test_uuid.py b/tests/model_fields/test_uuid.py index 28e11914a1..7ce98a0852 100644 --- a/tests/model_fields/test_uuid.py +++ b/tests/model_fields/test_uuid.py @@ -129,3 +129,20 @@ class TestAsPrimaryKey(TestCase): RelatedToUUIDModel.objects.create(uuid_fk=pk_model) related = RelatedToUUIDModel.objects.get() self.assertEqual(related.uuid_fk.pk, related.uuid_fk_id) + + def test_update_with_related_model_instance(self): + # regression for #24611 + u1 = PrimaryKeyUUIDModel.objects.create() + u2 = PrimaryKeyUUIDModel.objects.create() + r = RelatedToUUIDModel.objects.create(uuid_fk=u1) + RelatedToUUIDModel.objects.update(uuid_fk=u2) + r.refresh_from_db() + self.assertEqual(r.uuid_fk, u2) + + def test_update_with_related_model_id(self): + u1 = PrimaryKeyUUIDModel.objects.create() + u2 = PrimaryKeyUUIDModel.objects.create() + r = RelatedToUUIDModel.objects.create(uuid_fk=u1) + RelatedToUUIDModel.objects.update(uuid_fk=u2.pk) + r.refresh_from_db() + self.assertEqual(r.uuid_fk, u2) -- cgit v1.3