diff options
| author | Tomek Paczkowski <tomek@hauru.eu> | 2013-02-23 15:50:33 +0100 |
|---|---|---|
| committer | Tomek Paczkowski <tomek@hauru.eu> | 2013-02-23 15:50:33 +0100 |
| commit | 3dddbc0f2380d2654e66c8df4bb40d5e1d42af98 (patch) | |
| tree | 6fdf5704b8b31910e13f148451fc167860178c6d /tests | |
| parent | 1b7fb29dfb8579dc627208b8ca6500b5341489a9 (diff) | |
Fixed #19816: pre-evaluate queryset on m2m set
In ReverseManyRelatedObjectsDescriptor.__set__, evaluate possible
queryset to avoid problems when clear() would touch data this queryset
returns.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/m2m_regress/tests.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/regressiontests/m2m_regress/tests.py b/tests/regressiontests/m2m_regress/tests.py index 3dc1d2417c..90aab5e2a5 100644 --- a/tests/regressiontests/m2m_regress/tests.py +++ b/tests/regressiontests/m2m_regress/tests.py @@ -5,7 +5,7 @@ from django.test import TestCase from django.utils import six from .models import (SelfRefer, Tag, TagCollection, Entry, SelfReferChild, - SelfReferChildSibling, Worksheet, RegressionModelSplit) + SelfReferChildSibling, Worksheet, RegressionModelSplit, Line) class M2MRegressionTests(TestCase): @@ -96,3 +96,16 @@ class M2MRegressionTests(TestCase): # causes a TypeError in add_lazy_relation m1 = RegressionModelSplit(name='1') m1.save() + + def test_m2m_filter(self): + worksheet = Worksheet.objects.create(id=1) + line_hi = Line.objects.create(name="hi") + line_bye = Line.objects.create(name="bye") + + worksheet.lines = [line_hi, line_bye] + hi = worksheet.lines.filter(name="hi") + + worksheet.lines = hi + self.assertEquals(1, worksheet.lines.count()) + self.assertEquals(1, hi.count()) + |
