Opened 16 years ago
Last modified 12 years ago
#10064 closed
error: annotate doesn't support select_related — at Initial Version
Reported by: | olivius | Owned by: | |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Keywords: | annotate | |
Cc: | flosch@…, elsdoerfer@… | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
models.py:[[BR]] 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) ammount = 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 i
terator
setattr(obj, aggregate, row[i+aggregate_start])
IndexError: tuple index out of range