Django 如何筛选所有子类别的查询集

Django 如何筛选所有子类别的查询集,django,Django,我有一个模型: class Category(models.Model): title = models.CharField(max_length=127) # Lookups would be as follows: # cat = Category.objects.get(...) # for sub_cat in cat.sub_categories.all(): parent = models.ForeignKey( "s

我有一个模型:

class Category(models.Model):
    title = models.CharField(max_length=127)
    # Lookups would be as follows:
    # cat = Category.objects.get(...)
    # for sub_cat in cat.sub_categories.all():
    parent = models.ForeignKey(
        "self",
        on_delete=models.CASCADE,
        related_name="sub_categories")
显然,在模板中,我可以筛选所有子类别:

{% for sub_cat in cat.sub_categories.all %}
我想将子类别查询集传递到表单:

self.fields['parent'].queryset = PoliciesAndProceduresCategory.subcategories.all()
但这就产生了错误:

AttributeError:类型对象“PoliciesAndProcedureSectionary”没有属性“subcategories”

这里有没有一种简单的方法来过滤这个问题,或者我必须做一些事情,比如定义一个
模型方法

谢谢

我发现了:

self.fields['parent'].queryset = Category.objects.filter(parent=None)
问题是我试过:

self.fields['parent'].queryset = Category.objects.filter(parent=False)
我把我的JS和Django搞混了