django template tag regroup...

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

django template tag regroup...

Beitragvon jens » Montag 21. Juli 2008, 13:52

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?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 21. Juli 2008, 14:13

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 ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 21. Juli 2008, 14:32

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...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]