0

私はこのモデルを持っています:

class Event_Category(models.Model):
    event=models.ForeignKey(Event,related_name='event_category')
    category=models.ForeignKey(Category,related_name='events')
    user=models.ForeignKey(User)

ビューで:

magazie_cats=Event_Category.objects.filter(event=instance).order_by('category').distinct()
return render_to_response('CompanyHub/Company/index.html', {'magazie_cats':magazie_cats},context_instance=RequestContext(request))

テンプレートで:

{% regroup magazie_cats by category as service_list %}

この分類されたリストを 3 つの部分に分割し、それを繰り返します。変数インデックスで各カテゴリにアクセスしようとしました:

    {% for i in range(0,3) %}
       {% for item in service_list.i.list %}
           {{item.event.title}}
       {% endfor %}
    {% endfor %}
    {% for i in range(3,6) %}
       {% for item in service_list.i.list %}
           {{item.event.title}}
       {% endfor %}
    {% endfor %}
    {% for i in range(6,9) %}
       {% for item in service_list.i.list %}
           {{item.event.title}}
       {% endfor %}
    {% endfor %}

注:各ループの範囲は、 service_list length に基づくいくつかのカスタム フィルターによって計算されます。複雑さを避けるために、完全なコードは含めませんでした。

問題は、リスト変数のインデックスが機能せず、どうすればよいかわかりません。

4

1 に答える 1

1

スライスフィルターを使用する場合:

{% regroup magazie_cats by category as service_list %}

{% for cat in service_list|slice:":3" %}
    {% for item in cat.list %}
        {{item.event.title}}
    {% endfor %}
{% endfor %}
{% for cat in service_list|slice:"3:6" %}
    {% for item in cat.list %}
        {{item.event.title}}
    {% endfor %}
{% endfor %}
{% for cat in service_list|slice:"6:9" %}
    {% for item in cat.list %}
        {{item.event.title}}
    {% endfor %}
{% endfor %}
于 2012-09-08T14:39:32.300 に答える