Thanks, John. Your second suggestion (that I find a way to modify the Document class) put me on the right track. I eventually found this article: http://blog.arbingersys.com/2008/04/google-app-engine-better-many-to-many.html which worked for my problem.
On May 14, 7:17 pm, "John Lenton" <[EMAIL PROTECTED]> wrote: > On Wed, May 14, 2008 at 6:33 PM,John<[EMAIL PROTECTED]> wrote: > > > I'm having trouble accessing dictionary elements within a nested for > > loop. here are some code snippets: > > > [...] > > > # so far so good, but then I try to iterate over the documents and > > their associated tags in a template > > # here is the template with the html stripped out for readability > > {% for document in documents %} > > {{ document.content }} > > {% for doctag in tag_dict[document.uid] %} {{ doctag.tagid }} {% > > endfor % } > > {% endfor %} > > > # document.content is fine, but when I try to access tag_dict within > > the template's for loop, it complains: > > TemplateSyntaxError: Could not parse the remainder: [document.uid] > > right, templates are not python :) you can't do that, and it's on > purpose: that kind of fiddling around with the model is best done in > the view, not in the template. > > So... instead of doing e.g. > > documents = Document.objects.all() > tag_dict = {} > for document in documents: > tag_dict[document.uid] = DocumentTag.objects.filter(docid=document.uid) > > and passing those two into the template, you could do something along > the lines of > > documents = [dict(object=document, > tags=DocumentTag.objects.filter(docid=document.uid)) > for document in Document.objects.all()] > > and then in the template, you do > > {% for document in documents %} > {{ document.object.content }} > {% for doctag in document.tags %} {{ doctag.tagid }} {% endfor %} > {% endfor %} > > this is assuming there is some reason for you not to modify the > Document class to give it the appropriate methods or attributes to > access the related DocumentTag directly; if you could do that, life > would be much easier :) > > --JohnLenton ([EMAIL PROTECTED]) -- Random fortune: > The trouble with a lot of self-made men is that they worship their creator. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---