2016-04-29 49 views
0

Django的多對多的數據羣我有2個表我的Django的,其中一個是多對多從另一個,像下面裏面:網站上

TABLE1   TABLE2   TABLE_3 
ID Item1  ID Item2  ID  TABLE1_ID  TABLE2_ID 
1  a   1  o   1  1    2 
2  b   2  p   2  2    3 
3  c   3  q   3  3    1 

現在我嘗試打印的表格如下,以我的索引:

Item1  Item2 
a   p 
b   q 
c   o 

我想知道如何讓它工作?我在這裏呆了一段時間...請幫助。

我嘗試使用2個列表數據:

TABLE1_List = TABLE1.objects.all() 
TABLE2_List = TABLE2.objects.all() 
在我的模板文件

,我嘗試使用:

<table> 
{% for t1 in TABLE1_List %} 
    <tr> 
     <td>{{t1.Item1}}</td> 
    </tr> 
{% endfor %} 
</table> 
<table> 
{% for t2 in TABLE2_List %} 
    <tr> 
     <td>{{t2.Item2}}</td> 
    </tr> 
{% endfor %} 
</table> 

這將返回2臺適合我,但我怎麼能加入他們成一張桌子? 請給予幫助!謝謝!

回答

0

只是張貼在這裏我的解決方案:我已經設置2組列表作爲意見元組列表如下:

TABLE=list(zip(T1,T2)) 

,並使用以下寒冷的模板:

{% for t1,t2 in TABLE %} 
    <tr> 
      <td>t1.item1</td> 
      <td>t2.item2</td> 
    </tr> 
{% endfor %} 

謝謝。

0

如果您在兩欄中的項目數量相同,則可以這樣做。 (未測試)

<table> 
{% for t1 in TABLE1_List %} 
{% for t2 in TABLE2_List %} 
    <tr> 
     <td>{{t1.Item1}}</td> 
     <td>{{t2.Item2}}</td> 
    </tr> 
{% endfor %} 
{% endfor %}  
</table> 

編輯:經過考慮之後,我想你會得到更好的把兩個表彼此相鄰。或者只是使用DIV標籤等

+0

這不是...它會產生3 * 3行... For循環並不平行。我們還有其他辦法嗎?非常感謝! –

+0

只是爲了在這裏發佈我的解決方案:我已經在視圖中設置了2個列表作爲元組列表,並在模板中使用以下冷塊:{%for t1,t2在TABLE%}中。非常感謝您的靈感。 –