Hola, quiero ordenar objetos en base a un valor calculado en django ... ¿cómo lo hago?cómo ordenar por un valor calculado en django
Aquí es un modelo de perfil de usuario de ejemplo basado en desbordamiento de pila que explica mi situación:
class Profile(models.Model):
user = models.ForeignKey(User)
def get_reputation():
...
return reputation
reputation = property(get_reputation)
Por lo tanto, decir que quiero ordenar los usuarios por su reputación. ¿Cómo puedo hacer eso? Sé que no se puede simplemente hacer esto:
Profile.objects.order_by("-reputation")
Gracias por su ayuda a todos :)
+1: simplemente anule guardar() para mantener este campo actualizado. –
Decidí usar la señal de post-guardado en lugar de anular save() ... ¿hay posibles errores que deba conocer con ese enfoque? – Jiaaro
Si quieres usar señales, te recomendaría pre_save en lugar de post_save. Mantener un campo desnormalizado actualizado con post_save significa que debe realizar dos consultas de actualización donde sería suficiente. –