On Oct 20, 5:24 pm, Steve Holden <[email protected]> wrote:
> On 10/20/2010 7:58 AM, Pranav wrote:
>
>
>
>
>
> > On Oct 20, 4:13 pm, Daniel Roseman <[email protected]> wrote:
> >> On Oct 20, 8:29 am, Pranav <[email protected]> wrote:
>
> >>> I'm trying to display a table in template using the result retrieved
> >>> from a query set, but i get problem when i try to display the table
> >>> iterating through each row'<tr>' and column'<td>'
>
> >>> view file:
> >>> from django.shortcuts import get_object_or_404, render_to_response
> >>> from models import Organization
>
> >>> def startpage(request):
> >>> table_data = Organization.objects.all()
> >>> return render_to_response('display_table.html', {'table_data':
> >>> table_data})
>
> >>> display_table template file:
> >>> <table align="left">
> >>> {% for row in table_data %}
> >>> <tr align="center">
> >>> {% for value in row %}
> >>> <td>
> >>> {{ row }}
> >>> </td>
> >>> {% endfor %}
> >>> </tr>
> >>> {% endfor %}
> >>> </table>
>
> >>> when i try to run this i get an error saying the object is not
> >>> itreable for the second for loop. please provide a solution to this
> >>> issue...
>
> >>> Thanks and Regards
> >>> Pranav
>
> >> `value` is an Organisation instance, and model instances are not
> >> iterable, as you could see by trying it in the shell.
>
> >> You could try passing a values_list instead of a queryset:
> >> table_data = Organization.objects.all().values_list()
> >> as these are iterable.
> >> --
> >> DR.
>
> > Hi Dan,
> > Thanks for the fix it worked.
> > I guess Organization.objects.all().values_list() returns a list.
> > But what if i want to refer to a particular field say Organization.id
> > inside my template?
>
> > like:
> > <table>
> > {% for row in table_data %}
> > <tr>
> > <td>
> > <a href = "..."> {{ row.Organization.id }} </a>
> > </td>
> > </tr>
> > <% endfor %}
> > </table>
>
> > I guess I'll have to pass another query set object to do this,
> > will this have any effect on the throughput of the database?
> > Is it possible to access cached result of the query set inside the
> > template?
>
> The point is that normally you don't just want to iterate over the
> columns of a retrieved row, since they have differences in meaning that
> normally require differences in display formatting and the like as well.
>
> Therefore the solution you offer above is more or less what you actually
> do.
>
> regards
> Steve
> --
> DjangoCon US 2010 September 7-9http://djangocon.us/
Hi Steve,
I know its a bit odd to display only a column of a table, but
thats the only way i can display a href list and a full fledged table
next to each other.
I guess I'll just have to go with passing 2 query set objects....
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected].
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.