我有一个简单的分类模型:Django的类别,子类别和子子类别
class Category(models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField()
parent = models.ForeignKey('self', blank = True, null = True, related_name="children")
起初,我的数据似乎只需要类别和子类别,但我意识到,有一些情况下,我仍然希望子分类。
我想我的网址是类别/子/子子类别
我在思考如何实现这一点,但我不知道,因为我的URL模式匹配看起来是这样的:
url(r'^business/(?P<parent>[-\w]+)/(?P<category_name>[-\w]+)$', 'directory.views.show_category'),
基本上只允许一个子类别,因为我的view方法接受这两个参数。
处理这个问题的最佳方法是什么?
我可以用category_slugs [-1]查询数据库,如果获得的类别没有子类,我们知道它是一个叶子类别,否则,我们知道它有子类别,我们显示它们? – AlexBrand 2012-02-29 13:43:29
@alexBrand:查看更新的答案。 – 2012-02-29 19:42:23
你是完全正确的。我没有想到在不同类别中使用相同的子类别名称的可能性。 – AlexBrand 2012-02-29 20:54:23