Python 用于筛选空类别的上下文处理器
在我的博客中,帖子是根据类别划分的。我已经从类别列表中排除了名为Uncategorized的类别,现在我想排除为空的类别 在一个上下文处理器中,我有下面的查询,运行良好:Python 用于筛选空类别的上下文处理器,python,django,django-models,django-queryset,Python,Django,Django Models,Django Queryset,在我的博客中,帖子是根据类别划分的。我已经从类别列表中排除了名为Uncategorized的类别,现在我想排除为空的类别 在一个上下文处理器中,我有下面的查询,运行良好: MyCategory.objects.exclude(category\u name=“Uncategorized”) 我尝试过这样的查询: def myblog_menu(request): myblog_menu_link = MyCategory.objects.exclude(category_name="U
MyCategory.objects.exclude(category\u name=“Uncategorized”)
我尝试过这样的查询:
def myblog_menu(request):
myblog_menu_link = MyCategory.objects.exclude(category_name="Uncategorized").filter(category_name__category_set__isnull=True)
return {
'myblog_menu_link': myblog_menu_link,
}
但我看到了这个错误:
CharField或join的不支持的查找“category_set”
不允许
我怎么能修好它
型号.py
class MyCategory(models.Mode):
category_name = models.CharField(...)
.
.
:
class BlogPost(models.Mode):
title = models.CharField(...)
category = models.ForeignKey(MyCategory, related_name="category_set", ....)
.
.
:
您可以排除空的类别,包括:
MyCategory.objects.exclude(
category_name='Uncategorized'
).filter(
category_set__isnull=False
).distinct()
在这种情况下,查询为:
MyCategory.objects.exclude(
category_name='Uncategorized'
).filter(
blogpost_set__isnull=False
).distinct()
MyCategory.objects.exclude(
类别_name='Uncategorized'
).过滤器(
blogpost\u set\u isnull=False
).distinct()
class BlogPost(models.Mode):
title = models.CharField(...)
category = models.ForeignKey(MyCategory, related_name='blogpost_set', ....)
MyCategory.objects.exclude(
category_name='Uncategorized'
).filter(
blogpost_set__isnull=False
).distinct()