【发布时间】:2023-02-15 21:41:17
【问题描述】:
该模型类似于
class Product(BaseModel):
name = models.CharField(db_column='name', max_length=200, blank=False, null=False, unique=True)
视图是
class ProductViewSet(BaseViewSet):
queryset = Product.objects.all()
...
filterset_class = ProductFilter
过滤器是
class ProductFilter(django_filters.FilterSet):
search = django_filters.CharFilter(field_name='name', lookup_expr='icontains')
class Meta:
model = Product
fields = []
现在.. 如果名称字段的值类似于“This is a/sample”并且搜索文本是“asample”。我想退回那一行。
提前致谢。
【问题讨论】:
-
您将无法通过对数据库进行简单的筛选查询来执行此操作——您需要使用 Elasticsearch 之类的工具来为您的搜索数据编制索引,然后对其运行查询。有许多可用于 Django 的 Elasticsearch 库。
-
您使用哪个数据库?
-
@IainShelvington mysql
标签: django django-rest-framework django-filter