2017-09-11 46 views
1

我有類別和子類別。我想要從類別(和屬於此類別的子類別)中獲取所有產品,並向用戶展示。如何做視圖的遞歸函數?

models.py

class Category(models.Model): 
    title_of_category = models.CharField(max_length=200, verbose_name='Підкатегорія', null=True) 
    parent = models.ForeignKey('self', blank=True, null=True, verbose_name='Категорія') 

    def __str__(self): 
     return self.title_of_category 

    class Meta: 
     verbose_name = "Категорія" 
     verbose_name_plural = "Категорії" 

回答

0

你可以試試:

class Category(models.Model): 
    # YOUR CODE 

    def children(self): 
     # helper 
     return self.category_set.all() 

    def descendants(self): 
     # your question function 
     for child in self.children(): 
      if child.children(): 
       return self.descendants() 
      else: 
       return child 
+0

我如何可以調用從請求意見的功能(後代)到Postgre? –

+0

顯示您的模板代碼。默認模板中的任何方法稱爲對象屬性。 –

+0

我還沒有模板。我只寫了模型,並嘗試寫意見。我使用Postgre,有分類和產品表。例如,我有類別'汽車'和'雷克薩斯'和'本田'的子類別。如果用戶點擊「汽車」,我必須向他展示類別'汽車'中的所有產品。幫助我請做到這一點。 –