Seite 1 von 1

django template tag regroup...

Verfasst: Montag 21. Juli 2008, 13:52
von jens
Komisch, irgendwie ist das Ergebnis vom django template tag regroup nicht so wie ich es erwarte.

http://www.djangoproject.com/documentat ... s/#regroup

Template: {% regroup feed_info by feed_type as feeds_grouped %}

Code: Alles auswählen

'feed_info': [{'feed_type': u'rss',
                'title_info': u'entries',
                'url': u'/_command/1/blog/feed/entries.rss'},
               {'feed_type': u'atom',
                'title_info': u'entries',
                'url': u'/_command/1/blog/feed/entries.atom'},
               {'feed_type': u'rss',
                'title_info': u'comments',
                'url': u'/_command/1/blog/feed/comments.rss'},
               {'feed_type': u'atom',
                'title_info': u'comments',
                'url': u'/_command/1/blog/feed/comments.atom'},
...
Ergebnis:

Code: Alles auswählen

 u'feeds_grouped': [{'grouper': u'rss',
                     'list': [{'feed_type': u'rss',
                               'title_info': u'entries',
                               'url': u'/_command/1/blog/feed/entries.rss'}]},
                    {'grouper': u'atom',
                     'list': [{'feed_type': u'atom',
                               'title_info': u'entries',
                               'url': u'/_command/1/blog/feed/entries.atom'}]},
                    {'grouper': u'rss',
                     'list': [{'feed_type': u'rss',
                               'title_info': u'comments',
                               'url': u'/_command/1/blog/feed/comments.rss'}]},
                    {'grouper': u'atom',
                     'list': [{'feed_type': u'atom',
                               'title_info': u'comments',
                               'url': u'/_command/1/blog/feed/comments.atom'}]},
...
Übersehe ich da was?

Verfasst: Montag 21. Juli 2008, 14:13
von jens
Aha! Das ja komisch, die Liste muß sortiert sein:

Code: Alles auswählen

feed_info = sorted(feed_info, key=lambda x: x['feed_type'])
Damit geht's... Das ist wohl nicht wirklich so gewollt, was?

EDIT: http://code.djangoproject.com/ticket/7863 ;)

Verfasst: Montag 21. Juli 2008, 14:32
von jens
jens hat geschrieben:Aha! Das ja komisch, die Liste muß sortiert sein:

Code: Alles auswählen

feed_info = sorted(feed_info, key=lambda x: x['feed_type'])
Damit geht's... Das ist wohl nicht wirklich so gewollt, was?

EDIT: http://code.djangoproject.com/ticket/7863 ;)
EDIT2: Ja, so ein mist. Es steht im Sourcecode drin, das es ohne eine Sortierung nicht funktioniert, siehe http://code.djangoproject.com/ticket/7863#comment:1 Mein Gott... Nun sehe ich ja, das der ganze zweite Teil der Doku genau über das Problem ist...

Aber IMHO sollte das regroup tag von sich aus die Daten vorsortieren...