私は自分自身へのFK参照を持つモデルカテゴリを持っています。 どのように私はテンプレートにデータを送信し、それがこの外部キーを持つオブジェクトを取り出す方法自己
- カテゴリー1
- リスト項目
- リスト項目
- カテゴリー2
- リストのように見えるようにすることができますアイテム
- リストアイテム
私は自分自身へのFK参照を持つモデルカテゴリを持っています。 どのように私はテンプレートにデータを送信し、それがこの外部キーを持つオブジェクトを取り出す方法自己
あなたはテンプレートで再帰の仕事をしようとしているように見えます。これは役立つかもしれない: http://www.undefinedfire.com/lab/recursion-django-templates/
あなたはこのような何かを探している可能性があります:
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>