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搞混了