Saltar al contenido

Agrupar por clave externa y mostrar elementos relacionados – Django

Esta es la solución más válida que te podemos aportar, pero primero estúdiala detenidamente y analiza si es compatible a tu proyecto.

Solución:

Puede agregar múltiples argumentos en su order_by() método. Por lo tanto, puede hacer pedidos dentro de pedidos.

users = UserExtendedProfile.objects.values('company', 'user').order_by('company', 'user')

Para una estructura como:

[ company: [user1, user2, ] , ]

Intenta usar un predeterminadodict

from collections import defaultdict 
users = defaultdict(list)
for result in UserExtendedProfile.objects.values('company', 'user').order_by('company', 'user'):
    users[result['company']].append(result['user'])

Con esto deberías seguir usuarios la estructura que deseas.

Si simplemente está tratando de lograr esto con fines de visualización, eche un vistazo a: https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#regroup

Te permite hacer exactamente eso dentro de la plantilla.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *