Имеется список словарей вида

list=[{'m': 1, 'obj': <A201307001 >, 'n': 1}, 
    {'m': 1, 'obj': < A201307001-1>, 'n': 1}, 
    {'m': 1, 'obj': <B201307002 >, 'n': 2}, 
    {'m': 1, 'obj': <B201307002-1>, 'n': 2},
    {'m': 2, 'obj': <B201307002-2 >, 'n': 2}, 
    {'m': 4, 'obj': <B201307002-3 >, 'n': 2},
    {'m': 4, 'obj': <B201307002-3 >, 'n': 3}]

n и m - это координаты ячеек двумерной таблицы. Как правильнее вывести их в шаблон, чтобы появилась таблица? Просто вообще теряюсь. пробовал regroup использовать, но запутался в конец...

Получилось наиболее удобоваримым это так:

{% regroup matrix by n as n_list %}

{% regroup matrix by m as m_list %}


<table>
    <colgroup>
            {% for n in n_list %}
                <col width = "250" />
            {%endfor%}

    </colgroup>
    <thead>
        <tr>
            {% for n in n_list %}
            <th>{{ n.grouper }}</th>
             {%endfor%}
        </tr>
    </thead>

<tbody>



<tr>
 {%for n in n_list %}
 <td>

    {% for item in n.list %}

    {{item.obj.number}}



    {%endfor%}
</td>
{%endfor%}




</tr>


</tbody>
</table>

Но никак не получается у меня цикл составить так, чтобы строки и столбцы составили ту самую искомую матрицу, где каждое значение в нужной ячейке, а не в столбцах друг под другом