簡體   English   中英

Django rest 框架 - 如何進行不區分大小寫的視圖集搜索

[英]Django rest framework - how to make case insensitive viewset search

如何在休息框架的視圖集中啟用不區分大小寫的搜索?

例如,假設 Post 模型有一個標簽。 下面的所有鏈接都應該找到相同的標簽內容,現在它們區分大小寫並嘗試搜索不同的值:

  1. /posts/tag=AbcDef
  2. /帖子/標簽= abcdef
  3. /posts/tag=AbcdeF

視圖.py

class PostViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostSerializer

假設您在Post模型中有名為tag 的字段,並且您的搜索 url 的格式為:

/posts/?tag=AbcDef

您可以進行區分大小寫的搜索,例如:

class PostViewSet(viewsets.ReadOnlyModelViewSet): 
    serializer_class = PostSerializer

    def get_queryset(self):
        keyword = self.request.query_params.get('tag', '')
        queryset = Post.objects.filter(tag__iexact=keyword)
        return queryset

您是否考慮過使用http://www.django-rest-framework.org/api-guide/filtering/#searchfilter 默認情況下不區分大小寫搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM