如何选择过滤器| Django的

问题描述

我想用item对此category进行过滤,但是这样无法在过滤中显示正确的结果。 示例:当我用Outwear搜索时,它没有显示任何项目(尽管我使用的是items类型)。

当我使用Q(category=query)并被S / SW / OW搜索时,它也会显示正确的结果。

models.py

CATEGORY_CHOICES = (
        ('S','Shirt'),('SW','Sport wear'),('OW','Outwear')
    )

class Item(models.Model):
    title = models.CharField(max_length=100)
    category = models.CharField(choices=CATEGORY_CHOICES,max_length=2)
    label = models.CharField(choices=LABEL_CHOICES,max_length=1)

views.py

class HomeView(ListView):
    model = Item
    paginate_by = 5
    template_name = "home.html"

    def get_queryset(self,*args,**kwargs):
        qs = super().get_queryset(*args,**kwargs)
        query = self.request.GET.get('q')
        if query:
            return qs.filter(Q(category__in=query))
        return qs

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)