2017-09-11 6 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を使用し、カテゴリーと商品のテーブルを持っています。たとえば、カテゴリ「車」とサブカテゴリ「レクサス」と「ホンダ」があります。ユーザーが 'Cars'をクリックすると、カテゴリ 'Cars'のすべての商品を表示する必要があります。私にこれをしてください助けてください。 –