0

我有一个按类型过滤的查询,“水果”

水果 = { 苹果、橙子、芒果、菠萝等 }

但是在这种情况下,每种水果也有不同的物品。(对于开发人员:服务器内域的属性)

http://i46.tinypic.com/35kj1o7.png

注意: - 水果的种类会因天而异,有些水果不是当季水果。- 对于开发人员:各个服务器可能拥有不同数量的域 - numType 字段可动态确定当天有多少不同的“水果”可用

主要目标: - 显示可用数据并将其分类到表格中。

http://i48.tinypic.com/infhip.png

在 view.py 上,我做了 2 个原始 sql 查询

  1. 选择 * from main where cat =='fruit'
  2. 选择 * from main where cat =='fruit' && name='numType'

提前致谢!

4

2 回答 2

2

不确定我是否完全遵循这个问题,但请尝试查看有关Django template for loops的文档,您可以使用该标签遍历键/值对。

如果比这更复杂,您可以尝试多解释一下吗?


也许重组会做你想要的?

{% regroup fruit_list by [key] as apple_list %}

{% for apples in apple_list %}
    <table>
    {% for apple in apples %}
    <td>{{apple}}</td>
    {% endfor %}
    </table>
{% endfor %}
于 2012-11-09T02:31:37.970 回答
0

我可能错了,可能有更好的方法,欢迎大家分享和讨论。

当前缺陷:dicts是无序的

在我看来.py:

  • 我做了两个查询,

    1. fruit_list = select * from main where type ="fruit"

    // 这将告诉我当天出售的可用水果类别

    1. number_of_cat = 从 main 中选择价格,其中 type ="fruit" 和 name="numType"
  • // 将 django 返回的查询集转换成一个列表 fruitRows = list(fruit_list)

  • lenRow = len(fruitRows)

  • // 在 python masterFruitList = {} 中创建一个字典;

  • // 根据 for i in range(int(number_of_cat)) 的数量在 dict 中创建键:masterFruitList['fruit_Type'+ str(i+1)] = []

  • // 向字典中添加行

  • // 添加到上下文 return render_to_response('data.html', {'numdo' : masterFruitList })

模板.html:

关键是使用 .items 语法来迭代python字典

{% if numdo %}
    {% for key,value in numdo.items %}
         <p> hey! <b> {{ key }} </b>
            <table class = "tablebord">
                <tr>
                    <th> name </th>
                    <th> type </th>
                    <th> price </th>
                </tr>
                {% for x in value %}
                    <td class = "tablebord"> {{ x.name }} </td>
                    <td class = "tablebord"> {{ x.type }} </td>
                    <td class = "tablebord"> {{ x.price }} </td>
                </tr>
                {% endfor %}
            </table>
         </p>

    {% endfor %}
{% endif %}
于 2012-11-12T04:10:06.627 回答