2016-11-22 5 views
5

私は、次のDjangoのモデルを持ってオブジェクトを参照。ジャンゴ:フィールド<code>parent</code>はすなわちカテゴリ自己参照であることを</p> <pre><code>class Category(models.Model): name = models.CharField(maxlength=20) parent = models.ForeignKey('self', null=True) </code></pre> <p>注親を持つことができます。Query自己なし子要素

子カテゴリを持たないCategoryオブジェクトをすべて見つけるにはどうすればよいですか?

答えて

6

あなたはrelated_query_nameisnullを使用することができます。

ここ
class Category(models.Model): 
    # ... 
    parent = models.ForeignKey('self', null=True, related_name='children', related_query_name='child') 

Category.objects.filter(child__isnull=True) 

、私は少なくとも意味のあるrelated_nameを指定することをお勧めします! related_nameのみを指定した場合、related_query_nameのデフォルトはその名前(ここではchildren)です。あなたは2、モデル名にRQNデフォルトのどれも指定しない場合:categoryないcategory_set

Category.objects.filter(category__isnull=True) # not so informative 
+0

を私が使用し 'Category.objects.filter(children__isnull =真)'、それが見事に動作します。ありがとう。 – Frankline

関連する問題

 関連する問題