2017-09-11 36 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,有分类和产品表。例如,我有类别'汽车'和'雷克萨斯'和'本田'的子类别。如果用户点击“汽车”,我必须向他展示类别'汽车'中的所有产品。帮助我请做到这一点。 –