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=.


Reply via email to