2010-04-30 25 views
7

Tôi đang sử dụng thẻ mẫu regroup để nhóm đầu ra truy vấn nhóm trên trường Lựa chọn. Trong mô hình:Kết hợp nhóm lại với get_foo_display trong các mẫu Django

RESOURCE_TYPES = (
     ('tut','External tutorial'), 
     ('read','Additional reading'), 
     ('org','Company or organization'),       
) 

restype = models.CharField('Resource type',max_length=6,choices=RESOURCE_TYPES) 

trong giao diện:

resources = Resource.objects.filter(tutorial=tutorial) 

trong mẫu:

Vì vậy type.grouper ám như 'tut' hoặc 'org' trên trang, chứ không phải dạng dài. Thông thường, bạn sẽ sử dụng cú pháp get_foo_display để nhận giá trị của lựa chọn thay vì khóa. Nhưng giá trị dường như không có sẵn sau khi đi qua tập hợp lại. Không có cách nào tôi có thể tìm thấy để sử dụng get_foo_display trên {{type.grouper}}.

Có ý nghĩa khi bạn nghĩ về điều đó, nhưng giải pháp thay thế là gì? Cảm ơn.

Trả lời

13

gì xảy ra nếu bạn làm

{% regroup resources by get_restype_display as resource_list %} 
+0

Nó hoạt động! Đó là Daniel tuyệt vời. Tôi sẽ gửi một bản vá tài liệu cho việc này. – shacker

+0

Vé và tài liệu vá: http://code.djangoproject.com/ticket/13452 – shacker

+0

Đơn giản, thanh lịch và chính xác những gì tôi đang tìm kiếm. Một upvote dường như không đủ. –

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