1
我喜歡在所有可用類別中下載包含類別=='download'的所有文件的下載列表。 (多對多場)帶有類別的下載列表ManyToManyField
>>>from feincms.module.medialibrary.models import MediaFile, Category
>>>MediaFile.objects.filter(categories=1) #my download pk, these files I need
>>>Category.objects.all() # these categories I need
models.py:https://github.com/feincms/feincms/blob/master/feincms/module/medialibrary/models.py
則必須從混合:
{% for category in category %}
<h1>{{ category }}</h1>
{% for file in category.mediafile_set.all %}
<li> {{ file }} </li>
{% endfor %}
{% endfor %}
但不是所有的文件,只有與該類別(或文件讓我們說標籤) '下載'。
和:
{% regroup file by categories.all as media_list %}
<ul>
{% for categories in media_list %}
<li>{{ categories.grouper }}
<ul>
{% for file in categories.list %}
<li>{{ file }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
這些文件都不錯,但類別不是在正確的位置和格式。
我需要一個像這樣的樹:
類別1 #下載類別,所有文件
- 文件3
- 文件1
- 文件2
類別2
- 文件3
3類
- | _子類別3.1(如果chidren,下一個挑戰)
- 文件2
- 文件3
我views.py這樣的:
from feincms.module.medialibrary.models import MediaFile, Category
def medialistview(request):
file = MediaFile.objects.filter(categories=1)
category = Category.objects.all()
return render_to_response('media.html',{
'file': file, 'category': category,
},context_instance=RequestContext(request))
我是初學者,也許這是很容易...