2012-11-09 12 views
0

我具有由式過濾的查詢時,「水果」Django的:顯示動態原始查詢(解析)

水果= {蘋果,桔子,芒果,菠蘿,等}

然而

在此情況,每種水果都有不同的項目。 (開發者爲:服務器內的域的屬性)

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

注: - 水果的類型可以通過天不等,有些水果有季節。 - 開發者爲:單臺服務器可以容納不同數量的域 的 - numType場動態地確定不同的「成果」有多少可用的那一天

主要目標: - 顯示和整理現有的數據轉化爲表格。

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

在view.py,我做2原始的SQL語句從主那裏貓== '果實'

  • 選擇從主*,其中貓=='果查詢

    1. SELECT * '& & name ='numType'

    在此先感謝!

  • 回答

    2

    不知道我完全遵循問題,但儘量考慮看看文檔上Django template for loops,你也可以遍歷包含該標籤的鍵/值對。

    如果它比這更復雜,你可以嘗試給多一點的解釋嗎?


    也許regroup會做你想要的?

    {% regroup fruit_list by [key] as apple_list %} 
    
    {% for apples in apple_list %} 
        <table> 
        {% for apple in apples %} 
        <td>{{apple}}</td> 
        {% endfor %} 
        </table> 
    {% endfor %} 
    
    +0

    編輯:從我的觀點我通過fruit_list選擇render_to_response從 從那裏我希望把項目從列表中爲根據,如果不同的表他們是蘋果1或蘋果。 我不能這樣認爲蘋果的數量.1蘋果.2是不一致的 – vampure

    +0

    現在嘗試你的解決方案。看起來合法會更新! – vampure

    0

    我可能是錯的,可能有更好的方法做到這一點,歡迎大家分享和討論。

    當前的缺陷:類型的字典是對我的看法無序

    。潘岳:

    • 我做兩個查詢,

      1. fruit_list = SELECT * FROM主,其中TYPE = 「果」

      //這將告訴我的水果上的可用類別銷售當天

      1. number_of_cat =選擇價格從主其中type = 「水果」 和名稱= 「numType」
    • //鑄造查詢集的django返回到一個列表 fruitRows =列表(fruit_list)

    • lenRow = LEN(fruitRows)

    • //創建在python一個字典 masterFruitList = {};

    • //在範圍從而在字典對於i鍵基於的 數(INT(number_of_cat)): masterFruitList [ 'fruit_Type' + STR(I + 1)] = []

    • //添加行到字典

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

    template.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 %}