我有一個簡單的分類模型: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