#10064: error: annotate doesn't support select_related
--------------------------------------+-------------------------------------
          Reporter:  olivius          |         Owner:          
            Status:  new              |     Milestone:  post-1.0
         Component:  ORM aggregation  |       Version:  SVN     
        Resolution:                   |      Keywords:  annotate
             Stage:  Unreviewed       |     Has_patch:  0       
        Needs_docs:  0                |   Needs_tests:  0       
Needs_better_patch:  0                |  
--------------------------------------+-------------------------------------
Comment (by olivius <[email protected]>):

 models.py:


 {{{
 class Account(models.Model):
     accountname = models.CharField(max_length=20)
     account_creator = models.ForeignKey(User)
     description = models.TextField(_('description'), blank=True)

     def __unicode__(self):
         return self.account


 class Category(models.Model):
     category_name = models.CharField(max_length=50)
     category_creator = models.ForeignKey(User)
     description = models.TextField(_('description'), blank=True)
     def __unicode__(self):
         return self.category


 class Transaction(models.Model):
     category            = models.ForeignKey(Category)
     account_from        = models.ForeignKey(Account,
 related_name='account_from')
     account_to          = models.ForeignKey(Account,
 related_name='account_to')
     creator             = models.ForeignKey(User)
     label               = models.CharField(_('label'), max_length=30)
     description         = models.TextField(_('description'), blank=True)
     amount              = models.DecimalField(_('amount'),max_digits=8,
 decimal_places=2)
     created_at          = models.DateTimeField(_('created at'),
 default=datetime.now)
     updated_at          = models.DateTimeField(_('updated at'))

     def __unicode__(self):
         return self.label

 }}}

 shell:


 {{{
 >>>
 
transactions=Transaction.objects.select_related('category','account_from','account_to').annotate(Sum('amount')).order_by('category','updated_at')
 >>> print transactions
 Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File "C:\Python25\lib\site-packages\django\db\models\query.py", line
 239, in __getitem__
     return list(qs)[0]
   File "C:\Python25\lib\site-packages\django\db\models\query.py", line
 163, in __len__
     self._result_cache.extend(list(self._iter))
   File "C:\Python25\lib\site-packages\django\db\models\query.py", line
 294, in iterator
     setattr(obj, aggregate, row[i+aggregate_start])
 IndexError: tuple index out of range
 }}}

-- 
Ticket URL: <http://code.djangoproject.com/ticket/10064#comment:5>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
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]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to