django - 如何过滤一组值的字段
问题描述
我有一个名为products的模型。该类别属于该模型。现在我可以用一个值过滤这个部分字段。其实我想为同一个字段按多个值过滤
示例:如果我用电话过滤(是一个类别)它可以工作但是对于这个部分字段,我需要按电话和案例过滤
筛选
class ProductFilter(filters.FilterSet):
min_price = filters.NumberFilter(field_name="price", lookup_expr='gte')
max_price = filters.NumberFilter(field_name="price", lookup_expr='lte')
class Meta:
model = Product
fields = ['category',
'min_price', 'max_price'
]
看法
class ProductListView(generics.ListAPIView):
permission_classes = [IsAuthenticated]
queryset = Product.objects.all()
serializer_class = ProductListSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_class = ProductFilter
我怎么做?有人能帮我吗?
解决方案
定义 aCharFilter
并指定lookup_expr
参数,
class ProductFilter(filters.FilterSet):
min_price = filters.NumberFilter(field_name="price", lookup_expr='gte')
max_price = filters.NumberFilter(field_name="price", lookup_expr='lte')
category = filters.CharFilter(lookup_expr='in')
class Meta:
model = Product
fields = ['category', 'min_price', 'max_price']
推荐阅读
- javascript - 使用 Electron 访问 webview DOM
- javascript - 查找 ID 数组,并将它们映射到单独架构中的项目数组
- bitbucket - Bitbucket Cloud Pipelines:如何将 Vue-Cli 应用程序部署到 bitbucket.io 作为静态 Web 主机?
- python - 如何有效地将大字符串从 Python 传递到 C++ 扩展方法?
- powershell - 在 Powershell 中,如何使用接受集合的构造函数创建 HashSet?
- reactjs - React:如何保持私有方法绑定到相关组件?
- python - 如何修复 MongoDB 中的聚合查询和更新查询?
- swift - 从 api 调用获取数据后无法更新实例变量
- vhdl - 从 FSM 中的特定统计数据开始
- c++ - c++17: 自动从 std::unique_ptr 移动到 std::shared_ptr