2011-04-06 44 views
3

是否有任何现有的代码来显示Django站点的管理中的某些类别对象的列表? 理想情况下,我想一些树表示喜欢小部件在Django中显示类别为树管理

cat_1

---- cat_1_1

---- cat_1_2

cat_2

cat_3

--- -cat_3_1

---- cat_3_2

---- cat_3_3

带上/下按钮来改变顺序。

class Category(models.Model): 

    parent = models.ForeignKey('self', null=True, related_name='children') 
    name = models.CharField(max_length=100) 

回答

2

首先,您还没有实际定义此模型上的订单 - 只是父级。你需要像MPTT这样的东西来跟踪该等级和该等级内的位置。

鉴于这种情况,这是很容易写一个__unicode__方法,其中显示连字符等于类别的级别数量模型:

def __unicode__(self): 
    return '%s%s' % ('-' * self.level, self.name) 

至于上/下按钮,你需要写在Javascript中,我期望。

+0

如果使用MPTT看看https://github.com/leukeleu/django-mptt-admin – Daviddd 2013-06-25 14:01:38

1

什么有一个django-categories package,与所有类别的管理员添加一个选择框网站来管理类别。

+0

我不知道你是否可以帮助解决这个问题?什么是类别应该看起来像管理员屏幕? http://stackoverflow.com/questions/20051740/django-categories-admin-not-working-as-expected – 2013-11-19 13:44:35

0

这很简单

所有你有你的观点做的就是让所有对象:

categories = Category.objects.all() 

然后在你的模板:

{% for category in categories %} 
    <li>- {{category.name}} </li> 
    {% for child in category.children.all %} 
    <ul>* {{child.nom}} </ul> 
    {% endfor %} 
</li>   
{% endfor %} 
相关问题