From e01b5a5823fa06a63382f87472978a16c77048d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anssi=20K=C3=A4=C3=A4ri=C3=A4inen?= Date: Tue, 18 Jun 2013 21:15:13 +0300 Subject: [PATCH] Fixed #11521 -- usage of field.attname in .update() Fixed already by previous patch, only test added. --- tests/update/tests.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/update/tests.py b/tests/update/tests.py index 9db9625183..95e9069972 100644 --- a/tests/update/tests.py +++ b/tests/update/tests.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from django.test import TestCase -from .models import A, B, C, D, DataPoint, RelatedPoint +from .models import A, B, D, DataPoint, RelatedPoint class SimpleTest(TestCase): @@ -51,6 +51,15 @@ class SimpleTest(TestCase): cnt = D.objects.filter(y=100).count() self.assertEqual(cnt, 0) + def test_foreign_key_update_with_id(self): + """ + Test that update works using _id for foreign keys + """ + num_updated = self.a1.d_set.update(a_id=self.a2) + self.assertEqual(num_updated, 20) + self.assertEqual(self.a2.d_set.count(), 20) + + class AdvancedTests(TestCase): def setUp(self): @@ -115,4 +124,4 @@ class AdvancedTests(TestCase): """ method = DataPoint.objects.all()[:2].update self.assertRaises(AssertionError, method, - another_value='another thing') + another_value='another thing')