相关疑难解决方法(0)

Django - 如何在自定义过滤器中向 queryset.filter 添加“或”条件

我想制作一个搜索过滤器,仅使用一个搜索字段,在具有多个条件的多个字段中进行搜索。我有这个filters.py 文件:

import django_filters
from .models import Product


class ProductFilter(django_filters.FilterSet):
    q = django_filters.CharFilter(method='search_filter', label='Cerca')

    class Meta:
        model = Product
        fields = ['q']

    def search_filter(self, queryset, name, value):
        return queryset.filter(name__icontains=value, sku__iexact=value)
Run Code Online (Sandbox Code Playgroud)

return queryset.filter(name__icontains=value, sku__iexact=value)不起作用,return queryset.filter(Product(name__icontains=value) | Product(sku__iexact=value)) 我该怎么办?

python django django-queryset django-filter

4
推荐指数
1
解决办法
3982
查看次数

标签 统计

django ×1

django-filter ×1

django-queryset ×1

python ×1