Django: Filtrage champ datetime par *que* la valeur de l'année?

Je suis en train de cracher un django page qui répertorie toutes les entrées de l'année, ils ont été créés. Ainsi, par exemple:

2010:

  • Note 4
  • Note 5
  • Note 6

2009:

  • Note 1
  • Note 2
  • Note 3

Il s'avère plus difficile que je l'aurais imaginé. Le modèle à partir duquel les données ci-dessous:

class Note(models.Model):
    business = models.ForeignKey(Business)
    note = models.TextField()
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    class Meta:
        db_table = 'client_note'

    @property
    def note_year(self):
        return self.created.strftime('%Y')

    def __unicode__(self):
        return '%s' % self.note

J'ai essayé de plusieurs façons, mais semblent fonctionner en obstacles en bas de chaque chemin. Je devine un effectif groupe par la méthode des " ferait l'affaire (PostGres DB Backend), mais je n'arrive pas à trouver tout de Django fonctionnalités qui la prend en charge. J'ai essayé de faire individuels ans à partir de la base de données mais j'ai du mal à trouver un moyen de filtrer les champs datetime par juste la valeur de l'année. Enfin, j'ai essayé d'ajouter le note_year @bien, mais parce qu'il est dérivé, je ne peux pas filtrer ces valeurs.

Des suggestions pour une élégante façon de le faire? Je me dis qu'il devrait être assez simple, mais je vais avoir un heckuva de temps avec elle. Toutes les idées beaucoup apprécié.

OriginalL'auteur PlankTon | 2010-06-08