好的,我一直在寻找这个,但似乎无法找到优雅地做到这一点。基本上我有一个类别模型,它具有一本书所属的类别字段,然后是该类别的父类。
我正在尝试创建一个模板来显示:
Parent1
Parent2
我的模特是:
class Category(models.Model):
category = models.CharField(max_length=20)
parent = TreeForeignKey('self', blank=True, null=True, related_name='children')
class Book(models.Model):
bookname=models.CharField(_('bookname'), max_length=255)
author=models.CharField(_('author'), max_length=255)
manufacturer=models.CharField(_('manufacturer'), max_length=255)
description=models.TextField(_('description'), blank=True)
coverart = models.ImageField(upload_to="coverart", blank=True, null=True)
adder=models.ForeignKey(User, related_name="added_models", verbose_name=_('adder'))
added=models.DateTimeField(_('added'), default=datetime.now)
category=models.ForeignKey(Category, related_name='cat')
content=models.TextField(blank=True)
关于在我的观点/模板中执行此操作的最佳方法的任何想法?它只是一个基本的数据库浏览结构,但反向查找属于父母的类别/书籍让我感到困惑。
答案 0 :(得分:2)
<ul>
{% for parent in categories %}
<li>{{ parent.category }}
<ul>
{% for category in parent.children.all %}
<li>{{ category.category }}
<ul>
{% for book in category.book_set.all %}
<li>{{ book.bookname }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
答案 1 :(得分:2)
尝试使用django mptt帮助您在数据库上创建树结构。非常有用
他有一些模板标签来帮助创建html