Django admin 要显示“的过滤器”;空";关系(如果没有与项目相关的结果)

Django admin 要显示“的过滤器”;空";关系(如果没有与项目相关的结果),django-admin,django-admin-filters,django-admin-actions,Django Admin,Django Admin Filters,Django Admin Actions,很简单,django filter(标准)为您提供了查看“全部”的选项。我想创建一个选项来显示包含“无”的项目 查询内容如下: tags = Product.objects.exclude(tag__isnull=True) 我的模特 class Tag(models.Model): name = models.CharField(max_length=100, blank=False) def __unicode__(self): return self.na

很简单,django filter(标准)为您提供了查看“全部”的选项。我想创建一个选项来显示包含“无”的项目

查询内容如下:

tags = Product.objects.exclude(tag__isnull=True)
我的模特

class Tag(models.Model):
    name = models.CharField(max_length=100, blank=False)
    def __unicode__(self):
        return self.name

class Product(models.Model):
    name = models.CharField ("Name", max_length=400)
    tag = models.ManyToManyField(Tag, blank=True)
    def __unicode__(self):
       return self.name

我将如何实现这一点?我尝试了一个SimpleListFilter,但是它只是列出了一个过滤器中的所有项目。我希望项目显示在管理页面视图中。管理操作可以做到这一点吗?

您可以排除所有没有标记的操作,如下所示:

tags = Product.objects.all().exclude(tag=None)

您可以排除所有没有标记的项,如下所示:

tags = Product.objects.all().exclude(tag=None)

我刚刚弄明白-Django使用“列表过滤器”自动完成这项工作。但它只在使用标记(models.py中定义的自名)时起作用,而不是像下面那样使用它

我所要做的就是改变

list_filter: ('tag__name')


这是显示Django过滤器的常用方法。它让我可以看到所有的&(无)

我刚刚弄明白了-Django使用“列表过滤器”自动完成这项工作。但它只在使用标记(models.py中定义的自名)时起作用,而不是像下面那样使用它

我所要做的就是改变

list_filter: ('tag__name')


这是显示Django过滤器的常用方法。它允许我看到所有的&(无)

谢谢。我是否使用管理操作来实现这一点?SimpleListFilter无法工作?谢谢。我是否使用管理操作来实现这一点?SimpleListFilter不能工作?