2014-09-23 66 views
2

我在Django多對一的關係:A型和B模型與rowspan的分組和重組在Django

我需要輸出,其中的對象進行排序和分組的名稱表

Name   Amount 
====================== 
A name   200 
       300 
       500 
Another name 200 
       30 
       450 
       15 

模型B有一個模型A的外鍵,所以我需要打印所有的模型B對象,並用外鍵對它們進行分組。

我知道我可以使用Django中的rowspan html屬性和重新組合過濾器來完成此操作,但我不確定如何編寫模板。

通常我可以創建輸出所有的對象,但我不想在每行中寫出名稱。所以我需要將他們分組。

<table> 
    <thead><tr><th>Name</th><th>Amount</th></tr></thead> 
    <tbody> 
    {% for obj in object_list %} 
    <tr> 
     <td>{{ obj.name }}</td> 
     <td>{{ obj.amount }}</td> 
    </tr> 
    {% endfor %} 
    </tbody> 
</table> 
+0

我編輯了我的問題 – Jamgreen 2014-09-23 15:10:41

回答

0

事情是這樣的 -

<table> 
    <thead><tr><th>Name</th><th>Amount</th></tr></thead> 
    <tbody> 
    {% regroup object_list by name as grouped %} 
    {% for group in grouped %} 
    {% for obj in group.list %} 
    <tr> 
     {% ifchanged %}<td rowspan="{{ group.list|length }}">{{ obj.name }}</td>{% endifchanged %} 
     <td>{{ obj.amount }}</td> 
    </tr> 
    {% endfor %} 
    {% endfor %} 
    </tbody> 
</table> 

更多看到regroupifchanged