Author: russellm
Date: 2009-11-18 22:35:53 -0600 (Wed, 18 Nov 2009)
New Revision: 11748
Modified:
django/trunk/django/db/models/sql/subqueries.py
django/trunk/tests/regressiontests/queries/models.py
Log:
Fixed #12242 -- Corrected a problem with masking extra selects() in a
DateQuerySet. Thanks to Alex Gaynor for his help debugging this one.
Modified: django/trunk/django/db/models/sql/subqueries.py
===================================================================
--- django/trunk/django/db/models/sql/subqueries.py 2009-11-19 04:35:31 UTC
(rev 11747)
+++ django/trunk/django/db/models/sql/subqueries.py 2009-11-19 04:35:53 UTC
(rev 11748)
@@ -409,7 +409,7 @@
self.select = [select]
self.select_fields = [None]
self.select_related = False # See #7097.
- self.extra = {}
+ self.set_extra_mask([])
self.distinct = True
self.order_by = order == 'ASC' and [1] or [-1]
Modified: django/trunk/tests/regressiontests/queries/models.py
===================================================================
--- django/trunk/tests/regressiontests/queries/models.py 2009-11-19
04:35:31 UTC (rev 11747)
+++ django/trunk/tests/regressiontests/queries/models.py 2009-11-19
04:35:53 UTC (rev 11748)
@@ -755,10 +755,20 @@
>>> Item.objects.dates('created', 'day')[0]
datetime.datetime(2007, 12, 19, 0, 0)
-Bug #7087 -- dates with extra select columns
+Bug #7087/#12242 -- dates with extra select columns
>>> Item.objects.dates('created', 'day').extra(select={'a': 1})
[datetime.datetime(2007, 12, 19, 0, 0), datetime.datetime(2007, 12, 20, 0, 0)]
+>>> Item.objects.extra(select={'a': 1}).dates('created', 'day')
+[datetime.datetime(2007, 12, 19, 0, 0), datetime.datetime(2007, 12, 20, 0, 0)]
+
+>>> name="one"
+>>> Item.objects.dates('created', 'day').extra(where=['name=%s'],
params=[name])
+[datetime.datetime(2007, 12, 19, 0, 0)]
+
+>>> Item.objects.extra(where=['name=%s'], params=[name]).dates('created',
'day')
+[datetime.datetime(2007, 12, 19, 0, 0)]
+
Bug #7155 -- nullable dates
>>> Item.objects.dates('modified', 'day')
[datetime.datetime(2007, 12, 19, 0, 0)]
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=.