0

django テンプレートに次のコードがあります。

{%for client in clients %}
    {% regroup books by com_name as com_name_list %}
       {% for com_name in com_name_list %}
            <tr>
            <td>
            <h3>{{ com_name.grouper }}</h3>
            </td>                                           
            </tr>
            {% for book in com_name.list %}
                {%if client.client.id == book.client.id %}
            <tr>
            <td></td>
            <td>
            {{book.id}}
            </td>
            <td>{{ book.created }}</td>
            <td>
            {% if client.client.b_type == 'ticketing'%}
                {{ book.date_select }}
            {% endif %}
            {% if client.client.b_type == 'hotel'%}
                {{ book.check_in }} - {{ book.check_out }}
            {% endif %}
            </td>
            <td>{{ book.last_name }}, {{ book.first_name }}</td>
            <td>{{ book.product }}</td>
            <td>{{ book.quantity }}</td>
                <td>{{ book.totalcost_rate|floatformat:2|intcomma }}</td>                                          <td>{{ book.status }} {{book.com_name}}</td>
             </tr>
            {%endif%}
        {% endfor %}
    {% endfor %}
{%endfor%}

しかし、なぜ出力がこれなのか疑問に思っていました:

Partner ID  Transaction Date    Booking Date              Guest Name    Product        Qty  Amount          Status
test
        2   April 19, 2012   April 1, 2012 - April 2, 2012    hjb, jbh  Dormitory Room  1   1,000.00    Complete test
        3   April 19, 2012   April 10, 2012 - April 11, 2012  KJNJK, hbk    Dormitory Room  1   1,000.00    Complete test
direct h
        4   April 19, 2012   April 19, 2012 - April 20, 2012  HBH, JGVJ Dormitory Room  1   1,000.00    Complete direct h
        5   April 19, 2012   April 9, 2012 - April 10, 2012   kjnkj, njkjn  g           1   1,000.00    Complete direct h
test
        9   April 27, 2012   May 1, 2012 - May 2, 2012    ljnd, asdf    Dormitory Room  1   1,000.00    Complete test
       10   April 27, 2012   April 27, 2012 - April 28, 2012  jhbjh, dsjg   Dormitory Room  1   1,000.00    Complete test
       11   April 28, 2012   April 9, 2012 - April 10, 2012   jnj, asjn Dormitory Room  1   1,000.00    Complete test
       12   April 28, 2012   April 11, 2012 - April 12, 2012  jnj, jjn  Dormitory Room  1   1,000.00    Complete test

私の再編成は間違っていますか?このようにグループ化するにはどうすればよいですか。

Partner ID  Transaction Date    Booking Date              Guest Name    Product        Qty  Amount          Status
test
        2   April 19, 2012   April 1, 2012 - April 2, 2012    hjb, jbh  Dormitory Room  1   1,000.00    Complete test
        3   April 19, 2012   April 10, 2012 - April 11, 2012  KJNJK, hbk    Dormitory Room  1   1,000.00    Complete test
        9   April 27, 2012   May 1, 2012 - May 2, 2012    ljnd, asdf    Dormitory Room  1   1,000.00    Complete test
       10   April 27, 2012   April 27, 2012 - April 28, 2012  jhbjh, dsjg   Dormitory Room  1   1,000.00    Complete test
       11   April 28, 2012   April 9, 2012 - April 10, 2012   jnj, asjn Dormitory Room  1   1,000.00    Complete test
       12   April 28, 2012   April 11, 2012 - April 12, 2012  jnj, jjn  Dormitory Room  1   1,000.00    Complete test

direct h
        4   April 19, 2012   April 19, 2012 - April 20, 2012  HBH, JGVJ Dormitory Room  1   1,000.00    Complete direct h
        5   April 19, 2012   April 9, 2012 - April 10, 2012   kjnkj, njkjn  g           1   1,000.00    Complete direct h

私の場合、誰かが私を助けることができますか?前もって感謝します...

4

1 に答える 1

2

regroup はその入力を順序付けません。リストを regroup に渡す前に、リストを com_name で並べ替える必要があります。ドキュメントはこれを説明し、例を示します。

于 2012-04-28T09:01:16.830 に答える