相似图片api drf

时间:2019-12-06 07:43:41

标签: django python-3.x django-rest-framework

我正在尝试使用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关键字的图像

0 个答案:

没有答案