2009-03-27 14 views
4

私は自分自身へのFK参照を持つモデルカテゴリを持っています。 どのように私はテンプレートにデータを送信し、それがこの外部キーを持つオブジェクトを取り出す方法自己

  • カテゴリー1
    • リスト項目
    • リスト項目
  • カテゴリー2
    • リストのように見えるようにすることができますアイテム
    • リストアイテム

答えて

3

あなたはこのような何かを探している可能性があります:

models.py

from django.db import models 

class Category(models.Model): 
    name = models.CharField(max_length=100) 
    parent = models.ForeignKey('self', blank=True, null=True, related_name='child') 
    def __unicode__(self): 
     return self.name 
    class Meta: 
     verbose_name_plural = 'categories' 
     ordering = ['name'] 

views.py

from myapp.models import Category # Change 'myapp' to your applications name. 
from django.shortcuts import render_to_response 

def category(request) 
    cat_list = Category.objects.select_related().filter(parent=None) 
    return render_to_response('template.html', { 'cat_list': cat_list }) 

template.html

<ul> 
{% for cat in cat_list %} 
    <li>{{ cat.name }}</li> 
    <ul> 
    {% for item in cat.child.all %} 
     <li>{{ item.name }}</li> 
    {% endfor %} 
    </ul> 
{% endfor %} 
</ul> 
関連する問題