Найти - Пользователи
Полная версия: QuerySet и вывод данных в таблицу
Начало » Django » QuerySet и вывод данных в таблицу
1
LinuxBoy
Делаю поиск по базе:
def search_nick(request):
bans = Bans.objects.filter(Q(name = request.GET['s'])|Q(ip = request.GET['s']))
return render_to_response('search_results.html', {'bans': bans})
Получаю queryset, не врублюсь как распихать каждое поле в отдельную ячейку таблицы, так как получаю список. Выбрать отдельный элемент списка не получается, пишу:
bans[4]
IndexError: list index out of range
Если делать не через модели а через курсор и fetchmany то результат оправдывает ожидания и каждое значение в своей ячейке. А смоделями получается одной строкой.

Вот код шаблона:
<table border="1" align="left">

<tr>
<td>ID</td>
<td>BID</td>
<td>Сервер</td>
<td>Ник игрока</td>
<td>IP адрес</td>
<td>Снятие бана</td>
<td>Игра</td>
<td>Админ</td>
<td>Причина</td>
<td>Игр</td>
<td>Дата</td>
<td>Warns</td>
</tr>
{% for ban in bans %}
<td>{{ ban }}</td>
{% endfor %}
</table>
Александр Кошелев
LinuxBoy
Делаю поиск по базе:
bans у вас это список объектов (т.е. строк). Каждый объект состоит из полей, объявленных в моделе. {{ bar }} это объект целиком. Вам надо взять из него нужные поля явным образом и распихать по ячейкам.

Так же можно использовать вызов values_list, чтобы чуть-чуть упростить этот процесс.
appetito
LinuxBoy
Делаю поиск по базе:
def search_nick(request):
bans = Bans.objects.filter(Q(name = request.GET['s'])|Q(ip = request.GET['s']))
return render_to_response('search_results.html', {'bans': bans})
Получаю queryset, не врублюсь как распихать каждое поле в отдельную ячейку таблицы, так как получаю список. Выбрать отдельный элемент списка не получается, пишу:
bans[4]
IndexError: list index out of range
Если делать не через модели а через курсор и fetchmany то результат оправдывает ожидания и каждое значение в своей ячейке. А смоделями получается одной строкой, вот так http://stats.dotabot.ru/bot_admin/search/?s=92.124.201.252

Вот код шаблона:
<table border="1" align="left">

<tr>
<td>ID</td>
<td>BID</td>
<td>Сервер</td>
<td>Ник игрока</td>
<td>IP адрес</td>
<td>Снятие бана</td>
<td>Игра</td>
<td>Админ</td>
<td>Причина</td>
<td>Игр</td>
<td>Дата</td>
<td>Warns</td>
</tr>
{% for ban in bans %}
<td>{{ ban }}</td>
{% endfor %}
</table>
Человек!!
намекаю:
<table border="1" align="left">

<tr>
<td>ID</td>
<td>BID</td>
<td>Сервер</td>
<td>Ник игрока</td>
<td>IP адрес</td>
<td>Снятие бана</td>
<td>Игра</td>
<td>Админ</td>
<td>Причина</td>
<td>Игр</td>
<td>Дата</td>
<td>Warns</td>
</tr>
{% for ban in bans %}
<tr>
<td>{{ ban.id }}</td>
<td>{{ ban.bid }}</td>
<td>{{ ban.server }}</td>
<td>{{ ban.nikname }}</td>
<td>{{ ban.ip }}</td>
и т.д.
</tr>
{% endfor %}
</table>
LinuxBoy
Ох спасибо, постоянно на мелочи застопариваюсь, а оказалось что так все просто!
xxnikolayxx
У меня подобная проблемма, но сложнее.
Нужно вывести тотже QuerySet как товары в интернет магазинах.
Т.Е. На Одноу строку 6 полей.
Не пойму как это в цикл засунуть.
<table>
{% for wq in contacts %}
<tr>
<td>        
{{ wq.view }}{{ wq.type_thing }}<br>{{ wq.tissue }}<br>
</td>
<td>        
{{ wq.view }}{{ wq.type_thing }}<br>{{ wq.tissue }}<br>
</td>
<td>        
{{ wq.view }}{{ wq.type_thing }}<br>{{ wq.tissue }}<br>
</td>
</tr>
{% endfor %} 
</table>  
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB