我正在尝试使用drf搜索过滤器基于关键字为相似图像制作api:
models.py:
class Image(models.Model):
title = models.CharField(max_length = 100)
image = models.ImageField(upload_to = 'home/tboss/Desktop/image' , default = 'home/tboss/Desktop/image/logo.png')
category = models.ForeignKey('Category', null=True, blank=True, on_delete=models.CASCADE)
image_keyword = models.TextField(max_length=1000)
def __str__(self):
return self.title
views.py:
class DynamicSearchFilter(filters.SearchFilter):
def get_search_fields(self,view,request):
return request.GET.getlist('search_fields',[])
class SimilarImageView(generics.ListCreateAPIView):
authentication_classes = []
permission_classes = []
search_fields = ['image_keyword','id']
filter_backends = (DynamicSearchFilter,)
queryset = Image.objects.all()
serializer_class = ImageSearchSerializer
我想要实现的是,如果我添加关键字“ lake nature ocean”,它应该显示所有包含关键字Lake或nature或ocean的图像,但搜索过滤器仅显示该关键字包含lakenatureocean关键字的图像