Zkoušel jsi se podívat na své schéma? Myslím, že jste si jen spletli název sloupce.
Za předpokladu, že používáte Djnago>=1.8, můžete se také vyhnout celému problému napsáním Func
jako tento:
class ExtractMonth(Func):
template = "EXTRACT(MONTH FROM %(expressions)s)"
def __init__(self, *expressions, **extra):
extra['output_field'] = SmallIntegerField()
super().__init__(*expressions, **extra)
a používat jej takto:
Subscription.objects.annotate(Month=ExtractMonth('Modified'))\
.values('Month').annotate(Count('Month'))
Tímto způsobem 'Modified'
je název pole na vašem modelu a Django název sloupce vyřeší za vás.
Aktualizovat
V tomto tiketu 1.9 je navrženo obecnější řešení .