2013-02-07 28 views
5

Trong mẫu cho bây giờ tôi đang sử dụng này:dictsort mẫu lọc và lọc với hai cột

{% for item in mydict|dictsortreversed:"column1" %} 

Nhưng tôi phải sắp xếp dữ liệu bởi hai cột - là có bất kỳ tùy chọn trong dictsort để làm điều này? Hoặc bất kỳ cách nào khác để thực hiện việc này trong mẫu?

Trả lời

9

Như bạn có thể thấy trong Django code, không có hỗ trợ cho việc này.

Tuy nhiên, vì Python sắp xếp trong một stable way. Điều này là tầm thường để thực hiện bằng cách sắp xếp hai lần :)

{% for item in mydict|dictsortreversed:"column1"|dictsortreversed:"column2" %} 
+2

Lưu ý: đặt hàng bộ lọc dictsort bằng cách tăng dần tầm quan trọng - bộ lọc cuối cùng sẽ là loại chính. – tcarobruce

0

Làm thế nào về một cái gì đó giống như -

{% for item in mydict|dictsortreversed %} 
    {% if forloopcount|diviisbleby:"2" %} 
      <td> item </td> 
     </tr> 
    {% else %} 
     <tr> 
      <td> item </td> 
    {% endif %} 
{% endfor %} 

Kiểm tra các forloop counterdivisible by thẻ mẫu cho thêm ý tưởng.

Các vấn đề liên quan