2009-03-11 43 views
9

Empecé a aprender django recientemente.Re-group de Django no funciona como se esperaba

estoy renderizado mi plantilla con CityList como,

{'citylist': Cities.objects.all()} 

y desea reqroup el país en la plantilla (igual que en django-docs) a continuación:

{% regroup citylist by country as coutrylist %} 

<ul> 
{% for country in countrylist %} 
    <li>{{ country.grouper }} 
    <ul> 
     {% for c in country.list %} 
     <li>{{ c.name }}</li> 
     {% endfor %} 
    </ul> 
    </li> 
{% endfor %} 
</ul> 

pero me da un poco de unextpected resultados,

France 
    Strasbourg 

Australia 
    Penrith 
    Sydney 

US 
    Larsen Bay 

France 
    Reims 

US 
    Avenal 

No creo que esté haciendo algo mal en mi plantilla. O es un error?

Respuesta

8

problema no está en el código, pero con los datos se inyecta en.

Cambiar la contexto de

{'citylist': Cities.objects.all().order_by('country')} 

django-docs menciona que

La solución más sencilla a este gotcha es para asegurarse de que en su código de vista los datos se ordenan de acuerdo con la forma en que desea visualizarlos.

+13

Su respuesta es correcta no significa que sea bien que su actitud sea incorrecta. – ironfroggy

+0

Estoy de acuerdo con ironfroggy –

+1

Bueno, me disculpo por eso. Pero mi intento fue hacerle consciente de que leer documentos cuidadosamente es imprescindible antes de llamar a algo malo. Era el respeto que tengo por la gran comunidad moldeando y puliendo el marco, que una actitud. Mi disculpa a BRTS sin embargo. – simplyharsh

Cuestiones relacionadas