[pyar] [Django] "order_by" metodo en modelo

Alejandro J. Cura alecu en protocultura.net
Jue Feb 16 13:03:54 ART 2012


2012/2/16 matias benedetto <matias.benedetto en gmail.com>:
> Hola compas de lista,
> necesito ordenar un queryset de Django por un metodo en un modelo, pero leí
> que esto no puede hacerse con el ORM de Django.
> Pero por ahora no se me ocurre una alternativa, asi que me gustaria saber si
> se les ocurre de que manera podría hacerlo.
>
> Puntualizo mejor, con los extractos importantes del model:
> Lo que yo quiero lograr es poder ordenar una consulta de usuarios por el
> importe de compras concretadas que tengan
>
>
> @property
> def total_final(self):
>         total_final = self.total - (self.total * self.descuento) /
> Decimal(100)
>         total_final = total_final + (total_final * self.iva) / Decimal(100)
>         return round(total_final, 2)
>
> usuario = models.ForeignKey(User)
>
>
> class Perfil (models.Model):
>
>     @property
>     def importe_pedidos_concretados (self):
>         importe = 0
>         for pedido in self.pedidos_concretados:
>             importe = importe + pedido.total_final
>         return importe

Pareciera que estás queriendo hacer el equivalente a un SUM de SQL desde Django.
Este es un artículo que encontré sobre eso:
http://agiliq.com/blog/2009/08/django-aggregation-tutorial/

saludos,
-- 
alecu



More information about the pyar mailing list