2010-04-30 11 views
7

Sto utilizzando il tag modello regroup per raggruppare l'output del queryset in un campo Scelte. Nel modello:Combinazione del gruppo con get_foo_display nei modelli Django

RESOURCE_TYPES = (
     ('tut','External tutorial'), 
     ('read','Additional reading'), 
     ('org','Company or organization'),       
) 

restype = models.CharField('Resource type',max_length=6,choices=RESOURCE_TYPES) 

nella vista:

resources = Resource.objects.filter(tutorial=tutorial) 

nel modello:

Così type.grouper rende come 'tut' o 'org' nella pagina, piuttosto che la forma lunga. Normalmente si usa la sintassi get_foo_display per ottenere il valore della scelta, piuttosto che la chiave. Ma il valore non sembra essere disponibile dopo aver attraversato il gruppo. Non riesco a trovare alcun modo per utilizzare get_foo_display su {{type.grouper}}.

Ha senso quando ci si pensa, ma qual è la soluzione? Grazie.

risposta

13

Cosa succede se non

{% regroup resources by get_restype_display as resource_list %} 
+0

Funziona! È fantastico, Daniel. Inserirò una patch di documentazione per questo. – shacker

+0

Patch ticket e doc: http://code.djopoproject.com/ticket/13452 – shacker

+0

Semplice, elegante e esattamente quello che stavo cercando. Un upvote non sembra sufficiente. –

Problemi correlati