Estoy tratando de escupir una página django que enumera todas las entradas por el año en que fueron creadas. Así, por ejemplo:Django: campo de fecha y hora de filtrado por * solo * el valor del año?
2010:
Nota 4
Nota 5
Nota 6
2009:
Nota 1
Nota 2
Nota 3
Está resultando más difícil de lo que hubiera esperado. El modelo de la que proviene de los datos es el siguiente:
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
He intentado un par de maneras diferentes, pero parece encontrarse con obstáculos por todos los caminos. Supongo que un método efectivo de "agrupar por" haría el truco (PostGres DB Backend), pero parece que no puedo encontrar ninguna funcionalidad de Django que lo soporte. Intenté obtener años individuales de la base de datos, pero me costó encontrar una forma de filtrar los campos de fecha y hora por el valor del año. Finalmente, traté de agregar note_year @property pero como se deriva, no puedo filtrar esos valores.
¿Alguna sugerencia para una manera elegante de hacer esto? Me imagino que debería ser bastante sencillo, pero estoy teniendo un momento heckuva con él. Cualquier idea muy apreciada.
* risas * ¿Puede' Creo que fue así de fácil. pasó horas buscando este tipo de funcionalidad. Muchas gracias. – PlankTon